[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