llvm-project/clang/test/CodeGenCXX/int64_uint64.cpp
Kevin Qin ad64f6d4e5 [AArch64] Change int64_t from 'long long int' to 'long int' for AArch64 target.
Most 64-bit targets define int64_t as long int, and AArch64 should
make same definition to follow LP64 model. In GNU tool chain, int64_t
is defined as long int for 64-bit target. So to get consistent with GNU,
it's better Changing int64_t from 'long long int' to 'long int',
otherwise clang will get different name mangling suffix compared with g++.

llvm-svn: 202004
2014-02-24 02:45:03 +00:00

26 lines
747 B
C++

// REQUIRES: arm-registered-target
// RUN: %clang_cc1 -triple arm-linux-guneabi \
// RUN: -target-cpu cortex-a8 \
// RUN: -emit-llvm -w -O1 -o - %s | FileCheck --check-prefix=CHECK-ARM %s
// REQUIRES: aarch64-registered-target
// RUN: %clang_cc1 -triple aarch64-linux-gnueabi \
// RUN: -target-feature +neon \
// RUN: -emit-llvm -w -O1 -o - %s | FileCheck --check-prefix=CHECK-AARCH64 %s
// Test if int64_t and uint64_t can be correctly mangled.
#include "arm_neon.h"
// CHECK-ARM: f1x(
// CHECK-AARCH64: f1l(
void f1(int64_t a) {}
// CHECK-ARM: f2y(
// CHECK-AARCH64: f2m(
void f2(uint64_t a) {}
// CHECK-ARM: f3Px(
// CHECK-AARCH64: f3Pl(
void f3(int64_t *ptr) {}
// CHECK-ARM: f4Py(
// CHECK-AARCH64: f4Pm(
void f4(uint64_t *ptr) {}