@@ -67,10 +67,10 @@ subroutine vec_xstd2_test(arg1, arg2, arg3, i)
67
67
68
68
! LLVMIR: %[[i:.*]] = load i32, ptr %3, align 4
69
69
! LLVMIR: %[[iext:.*]] = sext i32 %[[i]] to i64
70
- ! LLVMIR: %[[isub:.*]] = sub i64 %[[iext]], 1
71
- ! LLVMIR: %[[imul1:.*]] = mul i64 %[[isub]], 1
72
- ! LLVMIR: %[[imul2:.*]] = mul i64 %[[imul1]], 1
73
- ! LLVMIR: %[[iadd:.*]] = add i64 %[[imul2]], 0
70
+ ! LLVMIR: %[[isub:.*]] = sub nsw i64 %[[iext]], 1
71
+ ! LLVMIR: %[[imul1:.*]] = mul nsw i64 %[[isub]], 1
72
+ ! LLVMIR: %[[imul2:.*]] = mul nsw i64 %[[imul1]], 1
73
+ ! LLVMIR: %[[iadd:.*]] = add nsw i64 %[[imul2]], 0
74
74
! LLVMIR: %[[gep1:.*]] = getelementptr <4 x float>, ptr %2, i64 %[[iadd]]
75
75
! LLVMIR: %[[arg1:.*]] = load <4 x float>, ptr %0, align 16
76
76
! LLVMIR: %[[arg2:.*]] = load i16, ptr %1, align 2
@@ -93,10 +93,10 @@ subroutine vec_xstw4_test(arg1, arg2, arg3, i)
93
93
94
94
! LLVMIR: %[[i:.*]] = load i32, ptr %3, align 4
95
95
! LLVMIR: %[[iext:.*]] = sext i32 %[[i]] to i64
96
- ! LLVMIR: %[[isub:.*]] = sub i64 %[[iext]], 1
97
- ! LLVMIR: %[[imul1:.*]] = mul i64 %[[isub]], 1
98
- ! LLVMIR: %[[imul2:.*]] = mul i64 %[[imul1]], 1
99
- ! LLVMIR: %[[iadd:.*]] = add i64 %[[imul2]], 0
96
+ ! LLVMIR: %[[isub:.*]] = sub nsw i64 %[[iext]], 1
97
+ ! LLVMIR: %[[imul1:.*]] = mul nsw i64 %[[isub]], 1
98
+ ! LLVMIR: %[[imul2:.*]] = mul nsw i64 %[[imul1]], 1
99
+ ! LLVMIR: %[[iadd:.*]] = add nsw i64 %[[imul2]], 0
100
100
! LLVMIR: %[[gep1:.*]] = getelementptr <4 x float>, ptr %2, i64 %[[iadd]]
101
101
! LLVMIR: %[[arg1:.*]] = load <4 x float>, ptr %0, align 16
102
102
! LLVMIR: %[[arg2:.*]] = load i16, ptr %1, align 2
0 commit comments