[llvm] [AArch64]Add convert and multiply-add SIMD&FP assembly/disassembly in… (PR #113296)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 24 09:11:59 PDT 2024
================
@@ -5419,6 +5447,32 @@ multiclass IntegerToFP<bit isUnsigned, string asm, SDPatternOperator node> {
}
}
+multiclass IntegerToFPSIMDScalar<bits<2> rmode, bits<3> opcode, string asm, SDPatternOperator node = null_frag> {
+ // 32-bit to half-precision
+ def HSr: BaseIntegerToFPUnscaled<rmode, opcode, FPR32, FPR16, f16, asm, node> {
+ let Inst{31} = 0; // 32-bit FPR flag
+ let Inst{23-22} = 0b11; // 16-bit FPR flag
+ }
+
+ // 32-bit to double-precision
+ def DSr: BaseIntegerToFPUnscaled<rmode, opcode, FPR32, FPR64, f64, asm, node> {
+ let Inst{31} = 0; // 32-bit FPR flag
+ let Inst{23-22} = 0b01; // 64-bit FPR flag
+ }
+
+ // 64-bit to half-precision
+ def HDr: BaseIntegerToFPUnscaled<rmode, opcode, FPR64, FPR16, f16, asm, node> {
+ let Inst{31} = 1; // 64-bit FPR flag
+ let Inst{23-22} = 0b11; // 16-bit FPR flag
+ }
+
+ // 64-bit to single-precision
+ def SDr: BaseIntegerToFPUnscaled<rmode, opcode, FPR64, FPR32, f32, asm, node> {
+ let Inst{31} = 1; // 64-bit FPR flag
+ let Inst{23-22} = 0b00; // 16-bit FPR flag
----------------
CarolineConcatto wrote:
No, you were not! Thank you for pointing it out.
https://github.com/llvm/llvm-project/pull/113296
More information about the llvm-commits
mailing list