Lines Matching full:operator
10 // Record that INSN performs a 64-bit version of unary operator OPERATOR
12 multiclass SXU<SDPatternOperator operator, Instruction insn> {
13 def : Pat<(operator (sext (i32 GR32:$src))),
15 def : Pat<(operator (sext_inreg GR64:$src, i32)),
19 // Record that INSN performs a 64-bit version of binary operator OPERATOR
22 multiclass SXB<SDPatternOperator operator, RegisterOperand cls,
24 def : Pat<(operator cls:$src1, (sext GR32:$src2)),
26 def : Pat<(operator cls:$src1, (sext_inreg GR64:$src2, i32)),
31 multiclass ZXB<SDPatternOperator operator, RegisterOperand cls,
33 def : Pat<(operator cls:$src1, (zext GR32:$src2)),
35 def : Pat<(operator cls:$src1, (and GR64:$src2, 0xffffffff)),
40 // with LOAD, OPERATOR and STORE being the read, modify and write
43 class RMWI<SDPatternOperator load, SDPatternOperator operator,
46 : Pat<(store (operator (load mode:$addr), imm:$src), mode:$addr),
51 multiclass RMWIByte<SDPatternOperator operator, AddressingMode mode,
53 def : RMWI<anyextloadi8, operator, truncstorei8, mode, imm32, insn>;
54 def : RMWI<anyextloadi8, operator, truncstorei8, mode, imm64, insn>;