summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/ms-intrinsics.c
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2017-03-06 19:43:16 +0000
committerReid Kleckner <rnk@google.com>2017-03-06 19:43:16 +0000
commitb04cb9ab7a2aa138ca46920687c1504765bb80d8 (patch)
treea1e9949cb5474c7f5724a3269baa3db03d0114c6 /clang/test/CodeGen/ms-intrinsics.c
parenta175512b18478848bdbe203f2d25dc417860e3c5 (diff)
downloadbcm5719-llvm-b04cb9ab7a2aa138ca46920687c1504765bb80d8.tar.gz
bcm5719-llvm-b04cb9ab7a2aa138ca46920687c1504765bb80d8.zip
[MS] Add support for __ud2 and __int2c MSVC intrinsics
This was requested in PR31958 and elsewhere. llvm-svn: 297057
Diffstat (limited to 'clang/test/CodeGen/ms-intrinsics.c')
-rw-r--r--clang/test/CodeGen/ms-intrinsics.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/clang/test/CodeGen/ms-intrinsics.c b/clang/test/CodeGen/ms-intrinsics.c
index 7b03035615e..2d4ca5c272a 100644
--- a/clang/test/CodeGen/ms-intrinsics.c
+++ b/clang/test/CodeGen/ms-intrinsics.c
@@ -28,6 +28,20 @@ void test__stosb(unsigned char *Dest, unsigned char Data, size_t Count) {
// CHECK-X64: tail call void @llvm.memset.p0i8.i64(i8* %Dest, i8 %Data, i64 %Count, i32 1, i1 true)
// CHECK-X64: ret void
// CHECK-X64: }
+
+void test__ud2(void) {
+ __ud2();
+}
+// CHECK-INTEL-LABEL: define{{.*}} void @test__ud2()
+// CHECK-INTEL: call void @llvm.trap()
+
+void test__int2c(void) {
+ __int2c();
+}
+// CHECK-INTEL-LABEL: define{{.*}} void @test__int2c()
+// CHECK-INTEL: call void asm sideeffect "int $$0x2c", ""() #[[NORETURN:[0-9]+]]
+
+
#endif
void *test_ReturnAddress() {
@@ -425,7 +439,7 @@ void test__fastfail() {
}
// CHECK-LABEL: define{{.*}} void @test__fastfail()
// CHECK-ARM: call void asm sideeffect "udf #251", "{r0}"(i32 42) #[[NORETURN:[0-9]+]]
-// CHECK-INTEL: call void asm sideeffect "int $$0x29", "{cx}"(i32 42) #[[NORETURN:[0-9]+]]
+// CHECK-INTEL: call void asm sideeffect "int $$0x29", "{cx}"(i32 42) #[[NORETURN]]
// Attributes come last.
OpenPOWER on IntegriCloud