[llvm] [AArch64][SVE] Use SVE for scalar FP converts in streaming[-compatible] functions (1/n) (PR #118505)

Benjamin Maxwell via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 3 08:02:47 PST 2024


================
@@ -2898,8 +2906,10 @@ define double @scvtf_i32_f64(ptr %0) {
 define half @scvtf_i64_f16(ptr %0) {
 ; CHECK-LABEL: scvtf_i64_f16:
 ; CHECK:       // %bb.0:
-; CHECK-NEXT:    ldr x8, [x0]
-; CHECK-NEXT:    scvtf h0, x8
+; CHECK-NEXT:    ptrue p0.d
+; CHECK-NEXT:    ldr d0, [x0]
+; CHECK-NEXT:    scvtf z0.h, p0/m, z0.d
+; CHECK-NEXT:    // kill: def $h0 killed $h0 killed $z0
----------------
MacDue wrote:

Open question: Could replacing `ldr x8, [x0]` with `ldr d0, [x0]` in this case result in a streaming-mode memory hazard? 

https://github.com/llvm/llvm-project/pull/118505


More information about the llvm-commits mailing list