diff options
Diffstat (limited to 'gcc/config/riscv/riscv-vector-builtins-bases.cc')
-rw-r--r-- | gcc/config/riscv/riscv-vector-builtins-bases.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/config/riscv/riscv-vector-builtins-bases.cc b/gcc/config/riscv/riscv-vector-builtins-bases.cc index ab5b4dc9515..a8113f6602b 100644 --- a/gcc/config/riscv/riscv-vector-builtins-bases.cc +++ b/gcc/config/riscv/riscv-vector-builtins-bases.cc @@ -260,6 +260,12 @@ template<rtx_code CODE> class binop : public function_base { public: + bool has_rounding_mode_operand_p () const override + { + return CODE == SS_PLUS || CODE == SS_MINUS || CODE == US_PLUS + || CODE == US_MINUS; + } + rtx expand (function_expander &e) const override { switch (e.op_info->op) @@ -596,6 +602,8 @@ template<int UNSPEC> class sat_op : public function_base { public: + bool has_rounding_mode_operand_p () const override { return true; } + rtx expand (function_expander &e) const override { switch (e.op_info->op) @@ -616,6 +624,8 @@ template<int UNSPEC> class vnclip : public function_base { public: + bool has_rounding_mode_operand_p () const override { return true; } + rtx expand (function_expander &e) const override { switch (e.op_info->op) |