blob: 80e299247c723fa900a0dd5f8808e90ff9402495 [file] [log] [blame]
Dan Gohmanc2853072015-09-03 22:51:53 +00001// RUN: %clang -E -dM %s -o - 2>&1 \
2// RUN: -target wasm32-unknown-unknown -msimd128 \
3// RUN: | FileCheck %s -check-prefix=SIMD128
4// RUN: %clang -E -dM %s -o - 2>&1 \
5// RUN: -target wasm64-unknown-unknown -msimd128 \
6// RUN: | FileCheck %s -check-prefix=SIMD128
7//
8// SIMD128:#define __wasm_simd128__ 1{{$}}
Thomas Livelyf3b4f992019-02-28 18:39:08 +00009
Dan Gohmanc2853072015-09-03 22:51:53 +000010// RUN: %clang -E -dM %s -o - 2>&1 \
Thomas Livelyb7b9fdc2019-01-10 23:49:00 +000011// RUN: -target wasm32-unknown-unknown -munimplemented-simd128 \
12// RUN: | FileCheck %s -check-prefix=SIMD128-UNIMPLEMENTED
13// RUN: %clang -E -dM %s -o - 2>&1 \
14// RUN: -target wasm64-unknown-unknown -munimplemented-simd128 \
15// RUN: | FileCheck %s -check-prefix=SIMD128-UNIMPLEMENTED
16//
17// SIMD128-UNIMPLEMENTED:#define __wasm_unimplemented_simd128__ 1{{$}}
Thomas Livelyf3b4f992019-02-28 18:39:08 +000018
Thomas Livelyb7b9fdc2019-01-10 23:49:00 +000019// RUN: %clang -E -dM %s -o - 2>&1 \
Thomas Lively88058d42019-01-31 21:02:19 +000020// RUN: -target wasm32-unknown-unknown -mnontrapping-fptoint \
21// RUN: | FileCheck %s -check-prefix=NONTRAPPING-FPTOINT
22// RUN: %clang -E -dM %s -o - 2>&1 \
23// RUN: -target wasm64-unknown-unknown -mnontrapping-fptoint \
24// RUN: | FileCheck %s -check-prefix=NONTRAPPING-FPTOINT
25//
26// NONTRAPPING-FPTOINT:#define __wasm_nontrapping_fptoint__ 1{{$}}
Thomas Livelyf3b4f992019-02-28 18:39:08 +000027
Thomas Lively88058d42019-01-31 21:02:19 +000028// RUN: %clang -E -dM %s -o - 2>&1 \
29// RUN: -target wasm32-unknown-unknown -msign-ext \
30// RUN: | FileCheck %s -check-prefix=SIGN-EXT
31// RUN: %clang -E -dM %s -o - 2>&1 \
32// RUN: -target wasm64-unknown-unknown -msign-ext \
33// RUN: | FileCheck %s -check-prefix=SIGN-EXT
34//
35// SIGN-EXT:#define __wasm_sign_ext__ 1{{$}}
Thomas Livelyf3b4f992019-02-28 18:39:08 +000036
Thomas Lively88058d42019-01-31 21:02:19 +000037// RUN: %clang -E -dM %s -o - 2>&1 \
38// RUN: -target wasm32-unknown-unknown -mexception-handling \
39// RUN: | FileCheck %s -check-prefix=EXCEPTION-HANDLING
40// RUN: %clang -E -dM %s -o - 2>&1 \
41// RUN: -target wasm64-unknown-unknown -mexception-handling \
42// RUN: | FileCheck %s -check-prefix=EXCEPTION-HANDLING
43//
44// EXCEPTION-HANDLING:#define __wasm_exception_handling__ 1{{$}}
Thomas Livelyf3b4f992019-02-28 18:39:08 +000045
Thomas Lively88058d42019-01-31 21:02:19 +000046// RUN: %clang -E -dM %s -o - 2>&1 \
47// RUN: -target wasm32-unknown-unknown -mbulk-memory \
48// RUN: | FileCheck %s -check-prefix=BULK-MEMORY
49// RUN: %clang -E -dM %s -o - 2>&1 \
50// RUN: -target wasm64-unknown-unknown -mbulk-memory \
51// RUN: | FileCheck %s -check-prefix=BULK-MEMORY
52//
53// BULK-MEMORY:#define __wasm_bulk_memory__ 1{{$}}
Thomas Livelyf3b4f992019-02-28 18:39:08 +000054
Thomas Lively88058d42019-01-31 21:02:19 +000055// RUN: %clang -E -dM %s -o - 2>&1 \
Thomas Livelyf3b4f992019-02-28 18:39:08 +000056// RUN: -target wasm32-unknown-unknown -matomics \
Heejin Ahnbab85972019-02-06 01:41:26 +000057// RUN: | FileCheck %s -check-prefix=ATOMICS
58// RUN: %clang -E -dM %s -o - 2>&1 \
Thomas Livelyf3b4f992019-02-28 18:39:08 +000059// RUN: -target wasm64-unknown-unknown -matomics \
Heejin Ahnbab85972019-02-06 01:41:26 +000060// RUN: | FileCheck %s -check-prefix=ATOMICS
61//
Thomas Livelyf3b4f992019-02-28 18:39:08 +000062// ATOMICS-DAG:#define __wasm_atomics__ 1{{$}}
63// ATOMICS-DAG:#define __wasm_bulk_memory__ 1{{$}}
64
65// RUN: %clang -E -dM %s -o - 2>&1 \
66// RUN: -target wasm32-unknown-unknown -pthread \
67// RUN: | FileCheck %s -check-prefix=PTHREAD
68// RUN: %clang -E -dM %s -o - 2>&1 \
69// RUN: -target wasm64-unknown-unknown -pthread \
70// RUN: | FileCheck %s -check-prefix=PTHREAD
Heejin Ahnbab85972019-02-06 01:41:26 +000071//
Thomas Livelyf3b4f992019-02-28 18:39:08 +000072// PTHREAD-DAG:#define __wasm_atomics__ 1{{$}}
73// PTHREAD-DAG:#define __wasm_bulk_memory__ 1{{$}}
74
Heejin Ahnbab85972019-02-06 01:41:26 +000075// RUN: %clang -E -dM %s -o - 2>&1 \
Dan Gohmanc2853072015-09-03 22:51:53 +000076// RUN: -target wasm32-unknown-unknown -mcpu=mvp \
77// RUN: | FileCheck %s -check-prefix=MVP
78// RUN: %clang -E -dM %s -o - 2>&1 \
79// RUN: -target wasm64-unknown-unknown -mcpu=mvp \
80// RUN: | FileCheck %s -check-prefix=MVP
81//
82// MVP-NOT:#define __wasm_simd128__
Thomas Lively88058d42019-01-31 21:02:19 +000083// MVP-NOT:#define __wasm_unimplemented_simd128__
84// MVP-NOT:#define __wasm_nontrapping_fptoint__
85// MVP-NOT:#define __wasm_sign_ext__
86// MVP-NOT:#define __wasm_exception_handling__
87// MVP-NOT:#define __wasm_bulk_memory__
Heejin Ahnbab85972019-02-06 01:41:26 +000088// MVP-NOT:#define __wasm_atomics__
Thomas Livelyf3b4f992019-02-28 18:39:08 +000089
Dan Gohmanc2853072015-09-03 22:51:53 +000090// RUN: %clang -E -dM %s -o - 2>&1 \
91// RUN: -target wasm32-unknown-unknown -mcpu=bleeding-edge \
Thomas Lively88058d42019-01-31 21:02:19 +000092// RUN: | FileCheck %s -check-prefix=BLEEDING-EDGE
Dan Gohmanc2853072015-09-03 22:51:53 +000093// RUN: %clang -E -dM %s -o - 2>&1 \
94// RUN: -target wasm64-unknown-unknown -mcpu=bleeding-edge \
Thomas Lively88058d42019-01-31 21:02:19 +000095// RUN: | FileCheck %s -check-prefix=BLEEDING-EDGE
Dan Gohmanc2853072015-09-03 22:51:53 +000096//
Heejin Ahnbab85972019-02-06 01:41:26 +000097// BLEEDING-EDGE-DAG:#define __wasm_nontrapping_fptoint__ 1{{$}}
98// BLEEDING-EDGE-DAG:#define __wasm_sign_ext__ 1{{$}}
99// BLEEDING-EDGE-DAG:#define __wasm_simd128__ 1{{$}}
100// BLEEDING-EDGE-DAG:#define __wasm_atomics__ 1{{$}}
Thomas Lively88058d42019-01-31 21:02:19 +0000101// BLEEDING-EDGE-NOT:#define __wasm_unimplemented_simd128__ 1{{$}}
Thomas Livelyf3b4f992019-02-28 18:39:08 +0000102
Dan Gohmanc2853072015-09-03 22:51:53 +0000103// RUN: %clang -E -dM %s -o - 2>&1 \
104// RUN: -target wasm32-unknown-unknown -mcpu=bleeding-edge -mno-simd128 \
Thomas Lively88058d42019-01-31 21:02:19 +0000105// RUN: | FileCheck %s -check-prefix=BLEEDING-EDGE-NO-SIMD128
Dan Gohmanc2853072015-09-03 22:51:53 +0000106// RUN: %clang -E -dM %s -o - 2>&1 \
107// RUN: -target wasm64-unknown-unknown -mcpu=bleeding-edge -mno-simd128 \
Thomas Lively88058d42019-01-31 21:02:19 +0000108// RUN: | FileCheck %s -check-prefix=BLEEDING-EDGE-NO-SIMD128
Dan Gohmanc2853072015-09-03 22:51:53 +0000109//
Thomas Lively88058d42019-01-31 21:02:19 +0000110// BLEEDING-EDGE-NO-SIMD128-NOT:#define __wasm_simd128__