Skip to content

Commit 8c6bda7

Browse files
committed
[android] Fix IRGen/condfail.sil test for Android ARMv7/AArch64.
For AArch64, the fix is duplicating the arm64 lines, since those are not taken when testing Android/Linux which use AArch64 as the architecture. For ARMv7, the change is supporting both trap and .inst 0xe7ffdefe. According to llvm/lib/Target/ARM/ARMAsmPrinter.cpp, non-Darwin binutils do not support the mnemonic trap, so an .inst is emitted instead. The same instruction has to be used in both places, though. For both architectures add the Android version of APP/NO_APP, which uses @-symbols or // instead of ##.
1 parent 1ee66cd commit 8c6bda7

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

test/IRGen/condfail.sil

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import Swift
1111
// CHECK-x86_64: {{.cfi_startproc|Lfunc_begin}}
1212
// CHECK-i386: .cfi_startproc
1313
// CHECK-arm64: .cfi_startproc
14+
// CHECK-aarch64: .cfi_startproc
1415
// CHECK-armv7: Lfunc_begin
1516
// CHECK-armv7s: Lfunc_begin
1617
// CHECK-powerpc64: .cfi_startproc
@@ -22,23 +23,33 @@ import Swift
2223
// CHECK-OPT-linux: ##NO_APP
2324
// CHECK-OPT-windows: ##APP
2425
// CHECK-OPT-windows: ##NO_APP
26+
// CHECK-OPT-linux-androideabi: @APP
27+
// CHECK-OPT-linux-androideabi: @NO_APP
28+
// CHECK-OPT-linux-android: //APP
29+
// CHECK-OPT-linux-android: //NO_APP
2530
// CHECK-NOOPT-macosx-NOT: ## InlineAsm Start
2631
// CHECK-NOOPT-macosx-NOT: ## InlineAsm End
2732
// CHECK-NOOPT-linux-NOT: ##APP
2833
// CHECK-NOOPT-linux-NOT: ##NO_APP
2934
// CHECK-NOOPT-windows-NOT: ##APP
3035
// CHECK-NOOPT-windows-NOT: ##NO_APP
36+
// CHECK-OPT-linux-androideabi-NOT: @APP
37+
// CHECK-OPT-linux-androideabi-NOT: @NO_APP
38+
// CHECK-OPT-linux-android-NOT: //APP
39+
// CHECK-OPT-linux-android-NOT: //NO_APP
3140
// CHECK-x86_64: ud2
3241
// CHECK-i386: ud2
3342
// CHECK-arm64: brk
34-
// CHECK-armv7: trap
35-
// CHECK-armv7s: trap
43+
// CHECK-aarch64: brk
44+
// CHECK-armv7: {{trap|.inst 0xe7ffdefe}}
45+
// CHECK-armv7s: {{trap|.inst 0xe7ffdefe}}
3646
// CHECK-powerpc64: trap
3747
// CHECK-powerpc64le: trap
3848
// CHECK-s390x: j .Ltmp{{[0-9]+}}+2
3949
// CHECK-NOT-x86_64: {{.cfi_endproc|Lfunc_end}}
4050
// CHECK-NOT-i386: .cfi_endproc
4151
// CHECK-NOT-arm64: .cfi_endproc
52+
// CHECK-NOT-aarch64: .cfi_endproc
4253
// CHECK-NOT-armv7: Lfunc_end
4354
// CHECK-NOT-armv7s: Lfunc_end
4455
// CHECK-NOT-powerpc64: .cfi_endproc
@@ -59,14 +70,16 @@ import Swift
5970
// CHECK-x86_64: ud2
6071
// CHECK-i386: ud2
6172
// CHECK-arm64: brk
62-
// CHECK-armv7: trap
63-
// CHECK-armv7s: trap
73+
// CHECK-aarch64: brk
74+
// CHECK-armv7: {{trap|.inst 0xe7ffdefe}}
75+
// CHECK-armv7s: {{trap|.inst 0xe7ffdefe}}
6476
// CHECK-powerpc64: trap
6577
// CHECK-powerpc64le: trap
6678
// CHECK-s390x: j .Ltmp{{[0-9]+}}+2
6779
// CHECK-x86_64: {{.cfi_endproc|Lfunc_end}}
6880
// CHECK-i386: .cfi_endproc
6981
// CHECK-arm64: .cfi_endproc
82+
// CHECK-aarch64: .cfi_endproc
7083
// CHECK-armv7: Lfunc_end
7184
// CHECK-armv7s: Lfunc_end
7285
// CHECK-powerpc64: .cfi_endproc

0 commit comments

Comments
 (0)