[llvm] [DAG] Lower frem of power-2 using div/trunc/mul+sub (PR #91148)

David Green via llvm-commits llvm-commits at lists.llvm.org
Fri May 17 08:59:44 PDT 2024


================
@@ -13,31 +13,57 @@ entry:
 }
 
 define float @frem2_nsz(float %x) {
-; CHECK-LABEL: frem2_nsz:
-; CHECK:       // %bb.0: // %entry
-; CHECK-NEXT:    fmov s1, #2.00000000
-; CHECK-NEXT:    b fmodf
+; CHECK-SD-LABEL: frem2_nsz:
+; CHECK-SD:       // %bb.0: // %entry
+; CHECK-SD-NEXT:    fmov s1, #2.00000000
+; CHECK-SD-NEXT:    fdiv s2, s0, s1
----------------
davemgreen wrote:

Sounds like a nice idea. It looks like there is an instcombiner for transforming that, but no equivalent in the backend at the moment. I'll try and take a look.

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


More information about the llvm-commits mailing list