diff options
| author | Tim Northover <tnorthover@apple.com> | 2014-04-18 13:46:08 +0000 |
|---|---|---|
| committer | Tim Northover <tnorthover@apple.com> | 2014-04-18 13:46:08 +0000 |
| commit | 4dab69815c9357b7c2b3fe91718e569cc5c0ac6a (patch) | |
| tree | 84de4a2afe93ba79f114957f0257d513cbf34867 /clang/test/CodeGen/arm64-aapcs-arguments.c | |
| parent | 561c4db707a600d6902c2c345ec37c4349a11c87 (diff) | |
| download | bcm5719-llvm-4dab69815c9357b7c2b3fe91718e569cc5c0ac6a.tar.gz bcm5719-llvm-4dab69815c9357b7c2b3fe91718e569cc5c0ac6a.zip | |
ARM64: make sure the caller is expected to extend in AAPCS.
This is one of those DarwinPCS differences. It'd been caught in
arguments, but not return values.
llvm-svn: 206594
Diffstat (limited to 'clang/test/CodeGen/arm64-aapcs-arguments.c')
| -rw-r--r-- | clang/test/CodeGen/arm64-aapcs-arguments.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/test/CodeGen/arm64-aapcs-arguments.c b/clang/test/CodeGen/arm64-aapcs-arguments.c index 72527b5acfb..b430630b071 100644 --- a/clang/test/CodeGen/arm64-aapcs-arguments.c +++ b/clang/test/CodeGen/arm64-aapcs-arguments.c @@ -33,3 +33,10 @@ typedef __attribute__((neon_vector_type(16))) signed char int8x16_t; typedef struct { int8x16_t arr[3]; } BigHFA; void test4(BigHFA v0_v2, BigHFA v3_v5, BigHFA sp, double sp48, BigHFA sp64) { } + +// It's the job of the argument *consumer* to perform the required sign & zero +// extensions under AAPCS. There shouldn't be + +// CHECK: define i8 @test5(i8 %a, i16 %b) +unsigned char test5(unsigned char a, signed short b) { +} |

