[llvm] [Hexagon] Have fast-math-libcalls.ll use the default hexagonv68 cpu (PR #149647)

via llvm-commits llvm-commits at lists.llvm.org
Sat Jul 19 02:46:20 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-hexagon

Author: Sudharsan Veeravalli (svs-quic)

<details>
<summary>Changes</summary>

The test had hexagonv5 as the CPU which is pretty old.

---
Full diff: https://github.com/llvm/llvm-project/pull/149647.diff


1 Files Affected:

- (modified) llvm/test/CodeGen/Hexagon/fast-math-libcalls.ll (+33-36) 


``````````diff
diff --git a/llvm/test/CodeGen/Hexagon/fast-math-libcalls.ll b/llvm/test/CodeGen/Hexagon/fast-math-libcalls.ll
index 6bc60132d3e6a4..137e043839fe72 100644
--- a/llvm/test/CodeGen/Hexagon/fast-math-libcalls.ll
+++ b/llvm/test/CodeGen/Hexagon/fast-math-libcalls.ll
@@ -1,5 +1,5 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
-; RUN: llc -mtriple=hexagon -mcpu=hexagonv5 < %s | FileCheck %s
+; RUN: llc -mtriple=hexagon  < %s | FileCheck %s
 
 ;---------------------------------------------------------------------
 ; fast sqrt
@@ -61,15 +61,9 @@ define double @fast_add_f64(double %x, double %y) {
 ; CHECK-LABEL: fast_add_f64:
 ; CHECK:         .cfi_startproc
 ; CHECK-NEXT:  // %bb.0:
-; CHECK-NEXT:    .cfi_def_cfa r30, 8
-; CHECK-NEXT:    .cfi_offset r31, -4
-; CHECK-NEXT:    .cfi_offset r30, -8
-; CHECK-NEXT:    {
-; CHECK-NEXT:     call __hexagon_fast_adddf3
-; CHECK-NEXT:     allocframe(r29,#0):raw
-; CHECK-NEXT:    }
 ; CHECK-NEXT:    {
-; CHECK-NEXT:     r31:30 = dealloc_return(r30):raw
+; CHECK-NEXT:     r1:0 = dfadd(r1:0,r3:2)
+; CHECK-NEXT:     jumpr r31
 ; CHECK-NEXT:    }
   %result = fadd nnan ninf nsz afn double %x, %y
   ret double %result
@@ -95,15 +89,9 @@ define double @fast_sub_f64(double %x, double %y) {
 ; CHECK-LABEL: fast_sub_f64:
 ; CHECK:         .cfi_startproc
 ; CHECK-NEXT:  // %bb.0:
-; CHECK-NEXT:    .cfi_def_cfa r30, 8
-; CHECK-NEXT:    .cfi_offset r31, -4
-; CHECK-NEXT:    .cfi_offset r30, -8
 ; CHECK-NEXT:    {
-; CHECK-NEXT:     call __hexagon_fast_subdf3
-; CHECK-NEXT:     allocframe(r29,#0):raw
-; CHECK-NEXT:    }
-; CHECK-NEXT:    {
-; CHECK-NEXT:     r31:30 = dealloc_return(r30):raw
+; CHECK-NEXT:     r1:0 = dfsub(r1:0,r3:2)
+; CHECK-NEXT:     jumpr r31
 ; CHECK-NEXT:    }
   %result = fsub nnan ninf nsz afn double %x, %y
   ret double %result
@@ -129,15 +117,22 @@ define double @fast_mul_f64(double %x, double %y) {
 ; CHECK-LABEL: fast_mul_f64:
 ; CHECK:         .cfi_startproc
 ; CHECK-NEXT:  // %bb.0:
-; CHECK-NEXT:    .cfi_def_cfa r30, 8
-; CHECK-NEXT:    .cfi_offset r31, -4
-; CHECK-NEXT:    .cfi_offset r30, -8
 ; CHECK-NEXT:    {
-; CHECK-NEXT:     call __hexagon_fast_muldf3
-; CHECK-NEXT:     allocframe(r29,#0):raw
+; CHECK-NEXT:     r5:4 = dfmpyfix(r1:0,r3:2)
+; CHECK-NEXT:     r7:6 = dfmpyfix(r3:2,r1:0)
 ; CHECK-NEXT:    }
 ; CHECK-NEXT:    {
-; CHECK-NEXT:     r31:30 = dealloc_return(r30):raw
+; CHECK-NEXT:     r1:0 = dfmpyll(r5:4,r7:6)
+; CHECK-NEXT:    }
+; CHECK-NEXT:    {
+; CHECK-NEXT:     r1:0 += dfmpylh(r5:4,r7:6)
+; CHECK-NEXT:    }
+; CHECK-NEXT:    {
+; CHECK-NEXT:     r1:0 += dfmpylh(r7:6,r5:4)
+; CHECK-NEXT:    }
+; CHECK-NEXT:    {
+; CHECK-NEXT:     r1:0 += dfmpyhh(r5:4,r7:6)
+; CHECK-NEXT:     jumpr r31
 ; CHECK-NEXT:    }
   %result = fmul nnan ninf nsz afn double %x, %y
   ret double %result
@@ -152,38 +147,40 @@ define float @fast_div_f32(float %x, float %y) {
 ; CHECK:         .cfi_startproc
 ; CHECK-NEXT:  // %bb.0:
 ; CHECK-NEXT:    {
+; CHECK-NEXT:     r3,p0 = sfrecipa(r0,r1)
+; CHECK-NEXT:     r7 = sffixupd(r0,r1)
+; CHECK-NEXT:     r4 = ##1065353216
+; CHECK-NEXT:    }
+; CHECK-NEXT:    {
 ; CHECK-NEXT:     r2 = sffixupn(r0,r1)
-; CHECK-NEXT:     r4,p0 = sfrecipa(r0,r1)
 ; CHECK-NEXT:     r5 = ##1065353216
 ; CHECK-NEXT:    }
 ; CHECK-NEXT:    {
-; CHECK-NEXT:     r1 = sffixupd(r0,r1)
-; CHECK-NEXT:     r6 = ##1065353216
+; CHECK-NEXT:     r4 -= sfmpy(r7,r3):lib
 ; CHECK-NEXT:    }
 ; CHECK-NEXT:    {
-; CHECK-NEXT:     r5 -= sfmpy(r1,r4):lib
 ; CHECK-NEXT:     r0 = and(r2,##-2147483648)
-; CHECK-NEXT:     r3 = r2
+; CHECK-NEXT:     r6 = r2
 ; CHECK-NEXT:    }
 ; CHECK-NEXT:    {
-; CHECK-NEXT:     r4 += sfmpy(r5,r4):lib
+; CHECK-NEXT:     r3 += sfmpy(r4,r3):lib
 ; CHECK-NEXT:    }
 ; CHECK-NEXT:    {
-; CHECK-NEXT:     r0 += sfmpy(r2,r4):lib
-; CHECK-NEXT:     r6 -= sfmpy(r1,r4):lib
+; CHECK-NEXT:     r0 += sfmpy(r2,r3):lib
+; CHECK-NEXT:     r5 -= sfmpy(r7,r3):lib
 ; CHECK-NEXT:    }
 ; CHECK-NEXT:    {
-; CHECK-NEXT:     r3 -= sfmpy(r1,r0):lib
-; CHECK-NEXT:     r4 += sfmpy(r6,r4):lib
+; CHECK-NEXT:     r6 -= sfmpy(r7,r0):lib
+; CHECK-NEXT:     r3 += sfmpy(r5,r3):lib
 ; CHECK-NEXT:    }
 ; CHECK-NEXT:    {
-; CHECK-NEXT:     r0 += sfmpy(r3,r4):lib
+; CHECK-NEXT:     r0 += sfmpy(r6,r3):lib
 ; CHECK-NEXT:    }
 ; CHECK-NEXT:    {
-; CHECK-NEXT:     r2 -= sfmpy(r0,r1):lib
+; CHECK-NEXT:     r2 -= sfmpy(r0,r7):lib
 ; CHECK-NEXT:    }
 ; CHECK-NEXT:    {
-; CHECK-NEXT:     r0 += sfmpy(r2,r4,p0):scale
+; CHECK-NEXT:     r0 += sfmpy(r2,r3,p0):scale
 ; CHECK-NEXT:     jumpr r31
 ; CHECK-NEXT:    }
   %result = fdiv nnan ninf nsz afn float %x, %y

``````````

</details>


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


More information about the llvm-commits mailing list