Use gather loads for strided accesses
[official-gcc.git] / gcc / testsuite / gcc.target / nvptx / abi-enum-arg.c
blobd3626764742f943e567bf98907a67196d49e2f10
1 /* { dg-do compile } */
2 /* { dg-additional-options "-Wno-pedantic -Wno-long-long -m64 -fshort-enums" } */
4 /* Enum return types. Passed as the underlying integer. */
6 typedef enum { a = 0x1, b } Echar;
7 typedef enum { c = 0x100, d } Eshort;
8 typedef enum { e = 0x10000, f } Eint;
9 typedef enum { g = 0x100000000LL, h } Elonglong;
11 /* { dg-final { scan-assembler-times ".extern .func dcl_ac \\(.param.u32 %\[_a-z0-9\]*\\);" 1 } } */
12 void dcl_ac (Echar);
14 /* { dg-final { scan-assembler-times ".extern .func dcl_as \\(.param.u32 %\[_a-z0-9\]*\\);" 1 } } */
15 void dcl_as (Eshort);
17 /* { dg-final { scan-assembler-times ".extern .func dcl_ai \\(.param.u32 %\[_a-z0-9\]*\\);" 1 } } */
18 void dcl_ai (Eint);
20 /* { dg-final { scan-assembler-times ".extern .func dcl_all \\(.param.u64 %\[_a-z0-9\]*\\);" 1 } } */
21 void dcl_all (Elonglong);
23 void test_1 (void)
25 dcl_ac (1);
26 dcl_as (2);
27 dcl_ai (3);
28 dcl_all (4);
31 /* { dg-final { scan-assembler-times ".visible .func dfn_ac \\(.param.u32 %\[_a-z0-9\]*\\)(?:;|\[\r\n\]+\{)" 2 } } */
32 void dfn_ac (Echar c)
36 /* { dg-final { scan-assembler-times ".visible .func dfn_as \\(.param.u32 %\[_a-z0-9\]*\\)(?:;|\[\r\n\]+\{)" 2 } } */
37 void dfn_as (Eshort s)
41 /* { dg-final { scan-assembler-times ".visible .func dfn_ai \\(.param.u32 %\[_a-z0-9\]*\\)(?:;|\[\r\n\]+\{)" 2 } } */
42 void dfn_ai (Eint i)
46 /* { dg-final { scan-assembler-times ".visible .func dfn_all \\(.param.u64 %\[_a-z0-9\]*\\)(?:;|\[\r\n\]+\{)" 2 } } */
47 void dfn_all (Elonglong ll)