Author: Alex Bradbury Date: 2023-03-01T13:32:49Z New Revision: 81979c3038defe8653b62ba05517ee6d6b3eb976
URL: https://github.com/llvm/llvm-project/commit/81979c3038defe8653b62ba05517ee6d6b3eb976 DIFF: https://github.com/llvm/llvm-project/commit/81979c3038defe8653b62ba05517ee6d6b3eb976.diff LOG: [clang][RISCV][test] Add further test coverage for _Float16 on RISC-V Check for size and alignment as we do for other types. Added: Modified: clang/test/Driver/riscv32-toolchain.c clang/test/Driver/riscv64-toolchain.c Removed: ################################################################################ diff --git a/clang/test/Driver/riscv32-toolchain.c b/clang/test/Driver/riscv32-toolchain.c index 15f6d232d613..bc46e5ffde5d 100644 --- a/clang/test/Driver/riscv32-toolchain.c +++ b/clang/test/Driver/riscv32-toolchain.c @@ -248,6 +248,9 @@ int align_ll = __alignof(long long); // CHECK: @align_p = dso_local global i32 4 int align_p = __alignof(void*); +// CHECK: @align_f16 = dso_local global i32 2 +int align_f16 = __alignof(_Float16); + // CHECK: @align_f = dso_local global i32 4 int align_f = __alignof(float); @@ -284,6 +287,9 @@ int align_a_ll = __alignof(_Atomic(long long)); // CHECK: @align_a_p = dso_local global i32 4 int align_a_p = __alignof(_Atomic(void*)); +// CHECK: @align_a_f16 = dso_local global i32 2 +int align_a_f16 = __alignof(_Atomic(_Float16)); + // CHECK: @align_a_f = dso_local global i32 4 int align_a_f = __alignof(_Atomic(float)); @@ -332,6 +338,9 @@ int size_a_ll = sizeof(_Atomic(long long)); // CHECK: @size_a_p = dso_local global i32 4 int size_a_p = sizeof(_Atomic(void*)); +// CHECK: @size_a_f16 = dso_local global i32 2 +int size_a_f16 = sizeof(_Atomic(_Float16)); + // CHECK: @size_a_f = dso_local global i32 4 int size_a_f = sizeof(_Atomic(float)); @@ -380,6 +389,9 @@ unsigned long long check_ulonglong(void) { return 0; } // CHECK: define dso_local i32 @check_size_t() size_t check_size_t(void) { return 0; } +// CHECK: define dso_local half @check_float16() +_Float16 check_float16(void) { return 0; } + // CHECK: define dso_local float @check_float() float check_float(void) { return 0; } diff --git a/clang/test/Driver/riscv64-toolchain.c b/clang/test/Driver/riscv64-toolchain.c index 28e8142bb76f..613d3343b12d 100644 --- a/clang/test/Driver/riscv64-toolchain.c +++ b/clang/test/Driver/riscv64-toolchain.c @@ -204,6 +204,9 @@ int align_ll = __alignof(long long); // CHECK: @align_p = dso_local global i32 8 int align_p = __alignof(void*); +// CHECK: @align_f16 = dso_local global i32 2 +int align_f16 = __alignof(_Float16); + // CHECK: @align_f = dso_local global i32 4 int align_f = __alignof(float); @@ -240,6 +243,9 @@ int align_a_ll = __alignof(_Atomic(long long)); // CHECK: @align_a_p = dso_local global i32 8 int align_a_p = __alignof(_Atomic(void*)); +// CHECK: @align_a_f16 = dso_local global i32 2 +int align_a_f16 = __alignof(_Atomic(_Float16)); + // CHECK: @align_a_f = dso_local global i32 4 int align_a_f = __alignof(_Atomic(float)); @@ -288,6 +294,9 @@ int size_a_ll = sizeof(_Atomic(long long)); // CHECK: @size_a_p = dso_local global i32 8 int size_a_p = sizeof(_Atomic(void*)); +// CHECK: @size_a_f16 = dso_local global i32 2 +int size_a_f16 = sizeof(_Atomic(_Float16)); + // CHECK: @size_a_f = dso_local global i32 4 int size_a_f = sizeof(_Atomic(float)); @@ -336,6 +345,9 @@ unsigned long long check_ulonglong(void) { return 0; } // CHECK: define dso_local i64 @check_size_t() size_t check_size_t(void) { return 0; } +// CHECK: define dso_local half @check_float16() +_Float16 check_float16(void) { return 0; } + // CHECK: define dso_local float @check_float() float check_float(void) { return 0; } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits