| 831 | } |
| 832 | |
| 833 | static unique_ptr<Instr> parse_fp_unaryop(string_view name, token op_token) { |
| 834 | auto fmath = parse_fast_math(op_token); |
| 835 | |
| 836 | FpUnaryOp::Op op; |
| 837 | switch (op_token) { |
| 838 | case FABS: op = FpUnaryOp::FAbs; break; |
| 839 | case FNEG: op = FpUnaryOp::FNeg; break; |
| 840 | default: |
| 841 | UNREACHABLE(); |
| 842 | } |
| 843 | |
| 844 | auto &ty = parse_type(); |
| 845 | auto &a = parse_operand(ty); |
| 846 | return make_unique<FpUnaryOp>(ty, string(name), a, op, fmath, |
| 847 | FpRoundingMode(), FpExceptionMode()); |
| 848 | } |
| 849 | |
| 850 | static unique_ptr<Instr> |
| 851 | parse_fp_unary_verticalzip(string_view name, token op_token) { |
no test coverage detected