[llvm] [AArch64]Add convert and multiply-add SIMD&FP assembly/disassembly in… (PR #113296)
Jonathan Thackray via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 22 05:10:55 PDT 2024
================
@@ -5005,6 +5005,32 @@ multiclass FPToIntegerUnscaled<bits<2> rmode, bits<3> opcode, string asm,
}
}
+multiclass FPToIntegerSIMDScalar<bits<2> rmode, bits<3> opcode, string asm> {
+ // double-precision to 32-bit SIMD/FPR
+ def SDr : BaseFPToIntegerUnscaled<0b01, rmode, opcode, FPR64, FPR32, asm,
+ []> {
+ let Inst{31} = 0; // 32-bit GPR flag
+ }
+
+ // half-precision to 32-bit SIMD/FPR
+ def SHr : BaseFPToIntegerUnscaled<0b11, rmode, opcode, FPR16, FPR32, asm,
+ []> {
+ let Inst{31} = 0; // 32-bit GPR flag
+ }
+
+ // half-precision to 64-bit SIMD/FPR
+ def DHr : BaseFPToIntegerUnscaled<0b11, rmode, opcode, FPR16, FPR64, asm,
+ []> {
+ let Inst{31} = 1; // 32-bit GPR flag
+ }
+
+ // single-precision to 64-bit SIMD/FPR
+ def DSr : BaseFPToIntegerUnscaled<0b00, rmode, opcode, FPR32, FPR64, asm,
+ []> {
+ let Inst{31} = 1; // 32-bit GPR flag
----------------
jthackray wrote:
Should this not say "64-bit GPR flag"?
https://github.com/llvm/llvm-project/pull/113296
More information about the llvm-commits
mailing list