[flang-commits] [flang] [flang][AIX] update test to handle different alignments (NFC) (PR #176431)

Kelvin Li via flang-commits flang-commits at lists.llvm.org
Fri Jan 16 09:16:57 PST 2026


https://github.com/kkwli created https://github.com/llvm/llvm-project/pull/176431

I messed up the branch in https://github.com/llvm/llvm-project/pull/176293. Here is the new one with the update suggested by @nikic in https://github.com/llvm/llvm-project/pull/176293#discussion_r2698891211. Thanks.

cc @RalfJung 

>From 668a7de2af617c4631e9e93eac667331481f5cd8 Mon Sep 17 00:00:00 2001
From: Kelvin Li <kli at ca.ibm.com>
Date: Tue, 13 Jan 2026 16:29:48 -0500
Subject: [PATCH 1/2] [flang][AIX] update test to handle alignment specific to
 AIX (NFC)

---
 flang/test/Integration/complex-div-to-llvm.f90 | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/flang/test/Integration/complex-div-to-llvm.f90 b/flang/test/Integration/complex-div-to-llvm.f90
index 6bce17a2cb116..cc1bbd7d5d36d 100644
--- a/flang/test/Integration/complex-div-to-llvm.f90
+++ b/flang/test/Integration/complex-div-to-llvm.f90
@@ -1,7 +1,7 @@
 ! Test lowering complex division to llvm ir according to options
 
-! RUN: %flang -fcomplex-arithmetic=improved -S -emit-llvm %s -o - | FileCheck %s --check-prefixes=CHECK,IMPRVD
-! RUN: %flang -fcomplex-arithmetic=basic -S -emit-llvm %s -o - | FileCheck %s --check-prefixes=CHECK,BASIC
+! RUN: %flang -fcomplex-arithmetic=improved -S -emit-llvm %s -o - | FileCheck %s --check-prefixes=CHECK,IMPRVD%if target=powerpc64-ibm-aix{{.*}} %{,CHECK-LDSTA4,IMPRVD-LDSTA4%} %else %{,CHECK-LDSTA8,IMPRVD-LDSTA8%}
+! RUN: %flang -fcomplex-arithmetic=basic -S -emit-llvm %s -o - | FileCheck %s --check-prefixes=CHECK,BASIC%if target=powerpc64-ibm-aix{{.*}} %{,CHECK-LDSTA4,BASIC-LDSTA4%} %else %{,CHECK-LDSTA8,BASIC-LDSTA8%}
 
 
 ! CHECK-LABEL: @div_test_half
@@ -384,8 +384,10 @@ end subroutine div_test_single
 
 ! CHECK-LABEL: @div_test_double
 ! CHECK-SAME: ptr noalias %[[RET:.*]], ptr noalias %[[LHS:.*]], ptr noalias %[[RHS:.*]])
-! CHECK: %[[LOAD_LHS:.*]] = load { double, double }, ptr %[[LHS]], align 8
-! CHECK: %[[LOAD_RHS:.*]] = load { double, double }, ptr %[[RHS]], align 8
+! CHECK-LDSTA8: %[[LOAD_LHS:.*]] = load { double, double }, ptr %[[LHS]], align 8
+! CHECK-LDSTA8: %[[LOAD_RHS:.*]] = load { double, double }, ptr %[[RHS]], align 8
+! CHECK-LDSTA4: %[[LOAD_LHS:.*]] = load { double, double }, ptr %[[LHS]], align 4
+! CHECK-LDSTA4: %[[LOAD_RHS:.*]] = load { double, double }, ptr %[[RHS]], align 4
 ! CHECK: %[[LHS_REAL:.*]] = extractvalue { double, double } %[[LOAD_LHS]], 0
 ! CHECK: %[[LHS_IMAG:.*]] = extractvalue { double, double } %[[LOAD_LHS]], 1
 ! CHECK: %[[RHS_REAL:.*]] = extractvalue { double, double } %[[LOAD_RHS]], 0
@@ -484,7 +486,8 @@ end subroutine div_test_single
 ! IMPRVD: %[[RESULT_IMAG_WITH_SPECIAL_CASES:.*]] = select i1 %[[RESULT_IS_NAN]], double %[[RESULT_IMAG_SPECIAL_CASE_1]], double %[[RESULT_IMAG]]
 ! IMPRVD: %[[RESULT_1:.*]] = insertvalue { double, double } poison, double %[[RESULT_REAL_WITH_SPECIAL_CASES]], 0
 ! IMPRVD: %[[RESULT_2:.*]] = insertvalue { double, double } %[[RESULT_1]], double %[[RESULT_IMAG_WITH_SPECIAL_CASES]], 1
-! IMPRVD: store { double, double } %[[RESULT_2]], ptr %[[RET]], align 8
+! IMPRVD-LDSTA4: store { double, double } %[[RESULT_2]], ptr %[[RET]], align 4
+! IMPRVD-LDSTA8: store { double, double } %[[RESULT_2]], ptr %[[RET]], align 8
 
 ! BASIC-DAG: %[[RHS_REAL_SQ:.*]] = fmul contract double %[[RHS_REAL]], %[[RHS_REAL]]
 ! BASIC-DAG: %[[RHS_IMAG_SQ:.*]] = fmul contract double %[[RHS_IMAG]], %[[RHS_IMAG]]
@@ -499,7 +502,8 @@ end subroutine div_test_single
 ! BASIC: %[[IMAG:.*]] = fdiv contract double %[[IMAG_TMP_2]], %[[SQ_NORM]]
 ! BASIC: %[[RESULT_1:.*]] = insertvalue { double, double } poison, double %[[REAL]], 0
 ! BASIC: %[[RESULT_2:.*]] = insertvalue { double, double } %[[RESULT_1]], double %[[IMAG]], 1
-! BASIC: store { double, double } %[[RESULT_2]], ptr %[[RET]], align 8
+! BASIC-LDSTA4: store { double, double } %[[RESULT_2]], ptr %[[RET]], align 4
+! BASIC-LDSTA8: store { double, double } %[[RESULT_2]], ptr %[[RET]], align 8
 
 ! CHECK: ret void
 subroutine div_test_double(a,b,c)

>From ca62a13828fd3134e3f2fff6bb8713de145a56ac Mon Sep 17 00:00:00 2001
From: Kelvin Li <kli at ca.ibm.com>
Date: Fri, 16 Jan 2026 11:53:52 -0500
Subject: [PATCH 2/2] simplify the change as the alignment setting is not the
 focus

---
 flang/test/Integration/complex-div-to-llvm.f90 | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/flang/test/Integration/complex-div-to-llvm.f90 b/flang/test/Integration/complex-div-to-llvm.f90
index cc1bbd7d5d36d..96af1e6bedb94 100644
--- a/flang/test/Integration/complex-div-to-llvm.f90
+++ b/flang/test/Integration/complex-div-to-llvm.f90
@@ -1,7 +1,7 @@
 ! Test lowering complex division to llvm ir according to options
 
-! RUN: %flang -fcomplex-arithmetic=improved -S -emit-llvm %s -o - | FileCheck %s --check-prefixes=CHECK,IMPRVD%if target=powerpc64-ibm-aix{{.*}} %{,CHECK-LDSTA4,IMPRVD-LDSTA4%} %else %{,CHECK-LDSTA8,IMPRVD-LDSTA8%}
-! RUN: %flang -fcomplex-arithmetic=basic -S -emit-llvm %s -o - | FileCheck %s --check-prefixes=CHECK,BASIC%if target=powerpc64-ibm-aix{{.*}} %{,CHECK-LDSTA4,BASIC-LDSTA4%} %else %{,CHECK-LDSTA8,BASIC-LDSTA8%}
+! RUN: %flang -fcomplex-arithmetic=improved -S -emit-llvm %s -o - | FileCheck %s --check-prefixes=CHECK,IMPRVD
+! RUN: %flang -fcomplex-arithmetic=basic -S -emit-llvm %s -o - | FileCheck %s --check-prefixes=CHECK,BASIC
 
 
 ! CHECK-LABEL: @div_test_half
@@ -384,10 +384,8 @@ end subroutine div_test_single
 
 ! CHECK-LABEL: @div_test_double
 ! CHECK-SAME: ptr noalias %[[RET:.*]], ptr noalias %[[LHS:.*]], ptr noalias %[[RHS:.*]])
-! CHECK-LDSTA8: %[[LOAD_LHS:.*]] = load { double, double }, ptr %[[LHS]], align 8
-! CHECK-LDSTA8: %[[LOAD_RHS:.*]] = load { double, double }, ptr %[[RHS]], align 8
-! CHECK-LDSTA4: %[[LOAD_LHS:.*]] = load { double, double }, ptr %[[LHS]], align 4
-! CHECK-LDSTA4: %[[LOAD_RHS:.*]] = load { double, double }, ptr %[[RHS]], align 4
+! CHECK: %[[LOAD_LHS:.*]] = load { double, double }, ptr %[[LHS]], align {{4|8}}
+! CHECK: %[[LOAD_RHS:.*]] = load { double, double }, ptr %[[RHS]], align {{4|8}}
 ! CHECK: %[[LHS_REAL:.*]] = extractvalue { double, double } %[[LOAD_LHS]], 0
 ! CHECK: %[[LHS_IMAG:.*]] = extractvalue { double, double } %[[LOAD_LHS]], 1
 ! CHECK: %[[RHS_REAL:.*]] = extractvalue { double, double } %[[LOAD_RHS]], 0
@@ -486,8 +484,7 @@ end subroutine div_test_single
 ! IMPRVD: %[[RESULT_IMAG_WITH_SPECIAL_CASES:.*]] = select i1 %[[RESULT_IS_NAN]], double %[[RESULT_IMAG_SPECIAL_CASE_1]], double %[[RESULT_IMAG]]
 ! IMPRVD: %[[RESULT_1:.*]] = insertvalue { double, double } poison, double %[[RESULT_REAL_WITH_SPECIAL_CASES]], 0
 ! IMPRVD: %[[RESULT_2:.*]] = insertvalue { double, double } %[[RESULT_1]], double %[[RESULT_IMAG_WITH_SPECIAL_CASES]], 1
-! IMPRVD-LDSTA4: store { double, double } %[[RESULT_2]], ptr %[[RET]], align 4
-! IMPRVD-LDSTA8: store { double, double } %[[RESULT_2]], ptr %[[RET]], align 8
+! IMPRVD: store { double, double } %[[RESULT_2]], ptr %[[RET]], align {{4|8}}
 
 ! BASIC-DAG: %[[RHS_REAL_SQ:.*]] = fmul contract double %[[RHS_REAL]], %[[RHS_REAL]]
 ! BASIC-DAG: %[[RHS_IMAG_SQ:.*]] = fmul contract double %[[RHS_IMAG]], %[[RHS_IMAG]]
@@ -502,8 +499,7 @@ end subroutine div_test_single
 ! BASIC: %[[IMAG:.*]] = fdiv contract double %[[IMAG_TMP_2]], %[[SQ_NORM]]
 ! BASIC: %[[RESULT_1:.*]] = insertvalue { double, double } poison, double %[[REAL]], 0
 ! BASIC: %[[RESULT_2:.*]] = insertvalue { double, double } %[[RESULT_1]], double %[[IMAG]], 1
-! BASIC-LDSTA4: store { double, double } %[[RESULT_2]], ptr %[[RET]], align 4
-! BASIC-LDSTA8: store { double, double } %[[RESULT_2]], ptr %[[RET]], align 8
+! BASIC: store { double, double } %[[RESULT_2]], ptr %[[RET]], align {{4|8}}
 
 ! CHECK: ret void
 subroutine div_test_double(a,b,c)



More information about the flang-commits mailing list