• Home
  • Raw
  • Download

Lines Matching refs:ImmR

118 // (A64[SU]BFX Field, ImmR, ImmS).
120 // Note that ImmR and ImmS are already encoded for the actual instructions. The
121 // more natural LSB and Width mix together to form ImmR and ImmS, something
1032 (ins GPR32:$Rn, bitfield32_imm:$ImmR, bitfield32_imm:$ImmS),
1033 !strconcat(asmop, "\t$Rd, $Rn, $ImmR, $ImmS"),
1039 (ins GPR64:$Rn, bitfield64_imm:$ImmR, bitfield64_imm:$ImmS),
1040 !strconcat(asmop, "\t$Rd, $Rn, $ImmR, $ImmS"),
1053 (ins GPR32:$src, GPR32:$Rn, bitfield32_imm:$ImmR, bitfield32_imm:$ImmS),
1054 "bfm\t$Rd, $Rn, $ImmR, $ImmS", [], NoItinerary> {
1061 (ins GPR64:$src, GPR64:$Rn, bitfield64_imm:$ImmR, bitfield64_imm:$ImmS),
1062 "bfm\t$Rd, $Rn, $ImmR, $ImmS", [], NoItinerary> {
1078 // BFM ones (in ImmR) so they can handle their own decoding.
1085 let ImmR = 0b000000;
1135 (outs GPR32:$Rd), (ins GPR32:$Rn, bitfield32_imm:$ImmR),
1136 !strconcat(asmop, "\t$Rd, $Rn, $ImmR"),
1137 [(set i32:$Rd, (opnode i32:$Rn, bitfield32_imm:$ImmR))],
1143 (outs GPR64:$Rd), (ins GPR64:$Rn, bitfield64_imm:$ImmR),
1144 !strconcat(asmop, "\t$Rd, $Rn, $ImmR"),
1145 [(set i64:$Rd, (opnode i64:$Rn, bitfield64_imm:$ImmR))],
1189 let ImmR = FullImm{5-0};
1231 (ins GPR32:$Rn, bitfield32_imm:$ImmR, bfx32_width:$ImmS),
1232 !strconcat(asmop, "\t$Rd, $Rn, $ImmR, $ImmS"),
1233 [(set i32:$Rd, (op i32:$Rn, imm:$ImmR, imm:$ImmS))],
1240 (ins GPR64:$Rn, bitfield64_imm:$ImmR, bfx64_width:$ImmS),
1241 !strconcat(asmop, "\t$Rd, $Rn, $ImmR, $ImmS"),
1242 [(set i64:$Rd, (op i64:$Rn, imm:$ImmR, imm:$ImmS))],
1254 (ins GPR32:$src, GPR32:$Rn, bitfield32_imm:$ImmR, bfx32_width:$ImmS),
1255 "bfxil\t$Rd, $Rn, $ImmR, $ImmS", [], NoItinerary> {
1262 (ins GPR64:$src, GPR64:$Rn, bitfield64_imm:$ImmR, bfx64_width:$ImmS),
1263 "bfxil\t$Rd, $Rn, $ImmR, $ImmS", [], NoItinerary> {
1312 // because ImmR encodes "width - 1".
1341 (ins GPR32:$Rn, bfi32_lsb:$ImmR, bfi32_width:$ImmS),
1342 !strconcat(asmop, "\t$Rd, $Rn, $ImmR, $ImmS"),
1349 (ins GPR64:$Rn, bfi64_lsb:$ImmR, bfi64_width:$ImmS),
1350 !strconcat(asmop, "\t$Rd, $Rn, $ImmR, $ImmS"),
1362 (ins GPR32:$src, GPR32:$Rn, bfi32_lsb:$ImmR, bfi32_width:$ImmS),
1363 "bfi\t$Rd, $Rn, $ImmR, $ImmS", [], NoItinerary> {
1370 (ins GPR64:$src, GPR64:$Rn, bfi64_lsb:$ImmR, bfi64_width:$ImmS),
1371 "bfi\t$Rd, $Rn, $ImmR, $ImmS", [], NoItinerary> {
4599 def : Pat<(A64Bfi i64:$src, i64:$Rn, imm:$ImmR, imm:$ImmS),
4601 (bfi64_lsb_to_immr (i64 imm:$ImmR)),
4604 def : Pat<(A64Bfi i32:$src, i32:$Rn, imm:$ImmR, imm:$ImmS),
4606 (bfi32_lsb_to_immr (i64 imm:$ImmR)),
4610 def : Pat<(and (A64Bfi i64:$src, i64:$Rn, imm:$ImmR, imm:$ImmS),
4615 (bfi32_lsb_to_immr (i64 imm:$ImmR)),