1 // REQUIRES: aarch64-registered-target
2 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -S -O1 -Werror -Wall -o - %s | FileCheck %s
3 
4 #include <arm_sve.h>
5 
test_svdupq_n_b8_const()6 svbool_t test_svdupq_n_b8_const()
7 {
8   // CHECK-LABEL: test_svdupq_n_b8_const
9   // CHECK: ptrue p0.h
10   // CHECK-NEXT: ret
11   return svdupq_n_b8(1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0);
12 }
13 
test_svdupq_n_b16_const()14 svbool_t test_svdupq_n_b16_const()
15 {
16   // CHECK-LABEL: test_svdupq_n_b16_const
17   // CHECK: ptrue p0.h
18   // CHECK-NEXT: ret
19   return svdupq_n_b16(1, 1, 1, 1, 1, 1, 1, 1);
20 }
21 
test_svdupq_n_b32_const()22 svbool_t test_svdupq_n_b32_const()
23 {
24   // CHECK-LABEL: test_svdupq_n_b32_const
25   // CHECK: ptrue p0.s
26   // CHECK-NEXT: ret
27   return svdupq_n_b32(1, 1, 1, 1);
28 }
29 
test_svdupq_n_b64_const()30 svbool_t test_svdupq_n_b64_const()
31 {
32   // CHECK-LABEL: test_svdupq_n_b64_const
33   // CHECK: ptrue p0.d
34   // CHECK-NEXT: ret
35   return svdupq_n_b64(1, 1);
36 }
37