summaryrefslogtreecommitdiff
path: root/clang/test/CodeGen/builtins-ppc-xlcompat-trap.c
blob: 8a6569f9949ddcf41ee353c88c9047f3f1cda8a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// REQUIRES: powerpc-registered-target
// RUN: %clang_cc1 -O2 -triple powerpc64-unknown-linux-gnu \
// RUN:   -emit-llvm %s -o - -target-cpu pwr7 | \
// RUN:  FileCheck %s
// RUN: %clang_cc1 -O2 -triple powerpc64le-unknown-linux-gnu \
// RUN:   -emit-llvm %s -o - -target-cpu pwr8 | \
// RUN:  FileCheck %s
// RUN: %clang_cc1 -O2 -triple powerpc-unknown-aix \
// RUN:   -emit-llvm %s -o - -target-cpu pwr7 | \
// RUN:  FileCheck %s
// RUN: %clang_cc1 -O2 -triple powerpc64-unknown-aix \
// RUN:   -emit-llvm %s -o - -target-cpu pwr7 | \
// RUN:  FileCheck %s

extern int ia, ib;

// td
void test_tw(void) {
// CHECK: void @llvm.ppc.tw(i32 %0, i32 %1, i32 1)

  __builtin_ppc_tw(ia, ib, 1);
}

void test_xl_tw(void) {
// CHECK: void @llvm.ppc.tw(i32 %0, i32 %1, i32 1)

  __tw(ia, ib, 1);
}

// trap
void test_trap(void) {
// CHECK: void @llvm.ppc.trap(i32 %0)
  __builtin_ppc_trap(ia);
}

void test_xl_trap(void) {
// CHECK: void @llvm.ppc.trap(i32 %0)
  __trap(ia);
}