[PATCH] D12856: Always promote f16

Ahmed Bougacha via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 6 16:34:33 PST 2015


ab accepted this revision.
ab added a comment.
This revision is now accepted and ready to land.

I think this is fine, modulo a couple nits.

Pirama: any comments?


================
Comment at: lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:201
@@ -200,1 +200,3 @@
 
+  if (PartEVT.isInteger() && ValueVT.isFloatingPoint()) {
+    // For an FP value in an integer part, we need to truncate to the right
----------------
&& bitsLT ?

getNode() is pretty involved, and here we'd end up calling it to insert a no-op truncate for every softened f32/f64, right?

================
Comment at: test/CodeGen/ARM/fp16-promote.ll:153-156
@@ +152,6 @@
+; CHECK-ALL: cmp {{r[0-9]+}}, #0
+; CHECK-NOVFP: movne {{r[0-9]+}}, {{r[0-9]+}}
+; CHECK-VFP: movne {{r[0-9]+}}, {{r[0-9]+}}
+; CHECK-VFP: ldrh {{r[0-9]+}}, [{{r[0-9]+}}]
+; CHECK-NOVFP: ldrh {{r[0-9]+}}, [{{r[0-9]+}}]
+; CHECK-ALL: strh {{r[0-9]+}}, [{{r[0-9]+}}]
----------------
-LIBCALL/-ALL ?

================
Comment at: test/CodeGen/ARM/fp16-promote.ll:885-886
@@ -897,5 +884,4 @@
 
 ; CHECK-ALL-LABEL: test_struct_arg:
-; CHECK-ALL-NEXT: .fnstart
-; CHECK-ALL-NEXT: bx lr
+; CHECK-ALL: bx lr
 define half @test_struct_arg(%struct.dummy %p) {
----------------
Did we start emitting anything else? If not, I'd keep the -NEXT and .fnstart.


http://reviews.llvm.org/D12856





More information about the llvm-commits mailing list