Skip to content

Commit 7060138

Browse files
committed
[AArch64][GlobalISel] Updated test checks
1 parent 80ef01c commit 7060138

File tree

2 files changed

+36
-83
lines changed

2 files changed

+36
-83
lines changed

llvm/test/CodeGen/AArch64/arm64-int-neon.ll

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,7 @@
33
; RUN: llc < %s -mtriple aarch64-unknown-unknown -global-isel -global-isel-abort=2 -mattr=+fprcvt,+fullfp16 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-GI
44

55

6-
; CHECK-GI: warning: Instruction selection used fallback path for test_sqrshl_s32
7-
; CHECK-GI-NEXT: warning: Instruction selection used fallback path for test_sqrshl_s64
8-
; CHECK-GI-NEXT: warning: Instruction selection used fallback path for test_sqshl_s32
9-
; CHECK-GI-NEXT: warning: Instruction selection used fallback path for test_sqshl_s64
10-
; CHECK-GI-NEXT: warning: Instruction selection used fallback path for test_uqrshl_s32
11-
; CHECK-GI-NEXT: warning: Instruction selection used fallback path for test_uqrshl_s64
12-
; CHECK-GI-NEXT: warning: Instruction selection used fallback path for test_uqshl_s32
13-
; CHECK-GI-NEXT: warning: Instruction selection used fallback path for test_uqshl_s64
14-
; CHECK-GI-NEXT: warning: Instruction selection used fallback path for test_uqadd_s32
6+
; CHECK-GI: warning: Instruction selection used fallback path for test_uqadd_s32
157
; CHECK-GI-NEXT: warning: Instruction selection used fallback path for test_uqadd_s64
168
; CHECK-GI-NEXT: warning: Instruction selection used fallback path for test_uqsub_s32
179
; CHECK-GI-NEXT: warning: Instruction selection used fallback path for test_uqsub_s64
@@ -236,3 +228,5 @@ define i64 @test_sqdmulls_scalar(float %A){
236228
%prod = call i64 @llvm.aarch64.neon.sqdmulls.scalar(i32 %cvt, i32 %cvt)
237229
ret i64 %prod
238230
}
231+
;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
232+
; CHECK-GI: {{.*}}

llvm/test/CodeGen/AArch64/arm64-vshift.ll

Lines changed: 33 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -142,23 +142,13 @@ define <1 x i64> @sqshl1d_constant(ptr %A) nounwind {
142142
}
143143

144144
define i64 @sqshl_scalar(ptr %A, ptr %B) nounwind {
145-
; CHECK-SD-LABEL: sqshl_scalar:
146-
; CHECK-SD: // %bb.0:
147-
; CHECK-SD-NEXT: ldr x8, [x0]
148-
; CHECK-SD-NEXT: ldr x9, [x1]
149-
; CHECK-SD-NEXT: fmov d0, x8
150-
; CHECK-SD-NEXT: fmov d1, x9
151-
; CHECK-SD-NEXT: sqshl d0, d0, d1
152-
; CHECK-SD-NEXT: fmov x0, d0
153-
; CHECK-SD-NEXT: ret
154-
;
155-
; CHECK-GI-LABEL: sqshl_scalar:
156-
; CHECK-GI: // %bb.0:
157-
; CHECK-GI-NEXT: ldr d0, [x0]
158-
; CHECK-GI-NEXT: ldr d1, [x1]
159-
; CHECK-GI-NEXT: sqshl d0, d0, d1
160-
; CHECK-GI-NEXT: fmov x0, d0
161-
; CHECK-GI-NEXT: ret
145+
; CHECK-LABEL: sqshl_scalar:
146+
; CHECK: // %bb.0:
147+
; CHECK-NEXT: ldr d0, [x0]
148+
; CHECK-NEXT: ldr d1, [x1]
149+
; CHECK-NEXT: sqshl d0, d0, d1
150+
; CHECK-NEXT: fmov x0, d0
151+
; CHECK-NEXT: ret
162152
%tmp1 = load i64, ptr %A
163153
%tmp2 = load i64, ptr %B
164154
%tmp3 = call i64 @llvm.aarch64.neon.sqshl.i64(i64 %tmp1, i64 %tmp2)
@@ -362,23 +352,13 @@ define <1 x i64> @uqshl1d_constant(ptr %A) nounwind {
362352
}
363353

364354
define i64 @uqshl_scalar(ptr %A, ptr %B) nounwind {
365-
; CHECK-SD-LABEL: uqshl_scalar:
366-
; CHECK-SD: // %bb.0:
367-
; CHECK-SD-NEXT: ldr x8, [x0]
368-
; CHECK-SD-NEXT: ldr x9, [x1]
369-
; CHECK-SD-NEXT: fmov d0, x8
370-
; CHECK-SD-NEXT: fmov d1, x9
371-
; CHECK-SD-NEXT: uqshl d0, d0, d1
372-
; CHECK-SD-NEXT: fmov x0, d0
373-
; CHECK-SD-NEXT: ret
374-
;
375-
; CHECK-GI-LABEL: uqshl_scalar:
376-
; CHECK-GI: // %bb.0:
377-
; CHECK-GI-NEXT: ldr d0, [x0]
378-
; CHECK-GI-NEXT: ldr d1, [x1]
379-
; CHECK-GI-NEXT: uqshl d0, d0, d1
380-
; CHECK-GI-NEXT: fmov x0, d0
381-
; CHECK-GI-NEXT: ret
355+
; CHECK-LABEL: uqshl_scalar:
356+
; CHECK: // %bb.0:
357+
; CHECK-NEXT: ldr d0, [x0]
358+
; CHECK-NEXT: ldr d1, [x1]
359+
; CHECK-NEXT: uqshl d0, d0, d1
360+
; CHECK-NEXT: fmov x0, d0
361+
; CHECK-NEXT: ret
382362
%tmp1 = load i64, ptr %A
383363
%tmp2 = load i64, ptr %B
384364
%tmp3 = call i64 @llvm.aarch64.neon.uqshl.i64(i64 %tmp1, i64 %tmp2)
@@ -938,23 +918,13 @@ define <1 x i64> @sqrshl1d_constant(ptr %A) nounwind {
938918
}
939919

940920
define i64 @sqrshl_scalar(ptr %A, ptr %B) nounwind {
941-
; CHECK-SD-LABEL: sqrshl_scalar:
942-
; CHECK-SD: // %bb.0:
943-
; CHECK-SD-NEXT: ldr x8, [x0]
944-
; CHECK-SD-NEXT: ldr x9, [x1]
945-
; CHECK-SD-NEXT: fmov d0, x8
946-
; CHECK-SD-NEXT: fmov d1, x9
947-
; CHECK-SD-NEXT: sqrshl d0, d0, d1
948-
; CHECK-SD-NEXT: fmov x0, d0
949-
; CHECK-SD-NEXT: ret
950-
;
951-
; CHECK-GI-LABEL: sqrshl_scalar:
952-
; CHECK-GI: // %bb.0:
953-
; CHECK-GI-NEXT: ldr d0, [x0]
954-
; CHECK-GI-NEXT: ldr d1, [x1]
955-
; CHECK-GI-NEXT: sqrshl d0, d0, d1
956-
; CHECK-GI-NEXT: fmov x0, d0
957-
; CHECK-GI-NEXT: ret
921+
; CHECK-LABEL: sqrshl_scalar:
922+
; CHECK: // %bb.0:
923+
; CHECK-NEXT: ldr d0, [x0]
924+
; CHECK-NEXT: ldr d1, [x1]
925+
; CHECK-NEXT: sqrshl d0, d0, d1
926+
; CHECK-NEXT: fmov x0, d0
927+
; CHECK-NEXT: ret
958928
%tmp1 = load i64, ptr %A
959929
%tmp2 = load i64, ptr %B
960930
%tmp3 = call i64 @llvm.aarch64.neon.sqrshl.i64(i64 %tmp1, i64 %tmp2)
@@ -964,10 +934,9 @@ define i64 @sqrshl_scalar(ptr %A, ptr %B) nounwind {
964934
define i64 @sqrshl_scalar_constant(ptr %A) nounwind {
965935
; CHECK-SD-LABEL: sqrshl_scalar_constant:
966936
; CHECK-SD: // %bb.0:
967-
; CHECK-SD-NEXT: ldr x9, [x0]
968-
; CHECK-SD-NEXT: mov w8, #1 // =0x1
937+
; CHECK-SD-NEXT: mov x8, #1 // =0x1
938+
; CHECK-SD-NEXT: ldr d0, [x0]
969939
; CHECK-SD-NEXT: fmov d1, x8
970-
; CHECK-SD-NEXT: fmov d0, x9
971940
; CHECK-SD-NEXT: sqrshl d0, d0, d1
972941
; CHECK-SD-NEXT: fmov x0, d0
973942
; CHECK-SD-NEXT: ret
@@ -1064,23 +1033,13 @@ define <1 x i64> @uqrshl1d_constant(ptr %A) nounwind {
10641033
}
10651034

10661035
define i64 @uqrshl_scalar(ptr %A, ptr %B) nounwind {
1067-
; CHECK-SD-LABEL: uqrshl_scalar:
1068-
; CHECK-SD: // %bb.0:
1069-
; CHECK-SD-NEXT: ldr x8, [x0]
1070-
; CHECK-SD-NEXT: ldr x9, [x1]
1071-
; CHECK-SD-NEXT: fmov d0, x8
1072-
; CHECK-SD-NEXT: fmov d1, x9
1073-
; CHECK-SD-NEXT: uqrshl d0, d0, d1
1074-
; CHECK-SD-NEXT: fmov x0, d0
1075-
; CHECK-SD-NEXT: ret
1076-
;
1077-
; CHECK-GI-LABEL: uqrshl_scalar:
1078-
; CHECK-GI: // %bb.0:
1079-
; CHECK-GI-NEXT: ldr d0, [x0]
1080-
; CHECK-GI-NEXT: ldr d1, [x1]
1081-
; CHECK-GI-NEXT: uqrshl d0, d0, d1
1082-
; CHECK-GI-NEXT: fmov x0, d0
1083-
; CHECK-GI-NEXT: ret
1036+
; CHECK-LABEL: uqrshl_scalar:
1037+
; CHECK: // %bb.0:
1038+
; CHECK-NEXT: ldr d0, [x0]
1039+
; CHECK-NEXT: ldr d1, [x1]
1040+
; CHECK-NEXT: uqrshl d0, d0, d1
1041+
; CHECK-NEXT: fmov x0, d0
1042+
; CHECK-NEXT: ret
10841043
%tmp1 = load i64, ptr %A
10851044
%tmp2 = load i64, ptr %B
10861045
%tmp3 = call i64 @llvm.aarch64.neon.uqrshl.i64(i64 %tmp1, i64 %tmp2)
@@ -1090,10 +1049,9 @@ define i64 @uqrshl_scalar(ptr %A, ptr %B) nounwind {
10901049
define i64 @uqrshl_scalar_constant(ptr %A) nounwind {
10911050
; CHECK-SD-LABEL: uqrshl_scalar_constant:
10921051
; CHECK-SD: // %bb.0:
1093-
; CHECK-SD-NEXT: ldr x9, [x0]
1094-
; CHECK-SD-NEXT: mov w8, #1 // =0x1
1052+
; CHECK-SD-NEXT: mov x8, #1 // =0x1
1053+
; CHECK-SD-NEXT: ldr d0, [x0]
10951054
; CHECK-SD-NEXT: fmov d1, x8
1096-
; CHECK-SD-NEXT: fmov d0, x9
10971055
; CHECK-SD-NEXT: uqrshl d0, d0, d1
10981056
; CHECK-SD-NEXT: fmov x0, d0
10991057
; CHECK-SD-NEXT: ret
@@ -2746,6 +2704,7 @@ define <4 x i32> @neon_sshl4s_wrong_ext_constant_shift(ptr %A) nounwind {
27462704
; CHECK-GI-NEXT: ret
27472705
%tmp1 = load <4 x i8>, ptr %A
27482706
%tmp2 = sext <4 x i8> %tmp1 to <4 x i32>
2707+
%tmp3 = call <4 x i32> @llvm.aarch64.neon.sshl.v4i32(<4 x i32> %tmp2, <4 x i32> <i32 1, i32 1, i32 1, i32 1>)
27492708
ret <4 x i32> %tmp3
27502709
}
27512710

0 commit comments

Comments
 (0)