Discussed with @craig.topper and @spatel - this is to try and tidyup the codegen folder and move the x86 specific tests (as opposed to general tests that just happen to use x86 triples) into subfolders. Its up to other targets if they follow suit. It also helps speed up test iterations as using wildcards on lit commands often misses some filenames.
57 lines
2.5 KiB
C++
57 lines
2.5 KiB
C++
// RUN: %clang_cc1 %s -emit-llvm -o - -triple=i686 | \
|
|
// RUN: FileCheck --check-prefixes=FP80,FP80-ELF32 %s
|
|
// RUN: %clang_cc1 %s -emit-llvm -o - -triple=i686-apple-darwin | \
|
|
// RUN: FileCheck --check-prefixes=FP80,FP80-DARWIN %s
|
|
// RUN: %clang_cc1 %s -emit-llvm -o - -triple=x86_64 | \
|
|
// RUN: FileCheck --check-prefixes=FP80,FP80-ELF64 %s
|
|
// RUN: %clang_cc1 %s -emit-llvm -o - -triple=x86_64-apple-darwin | \
|
|
// RUN: FileCheck --check-prefixes=FP80,FP80-DARWIN %s
|
|
|
|
// RUN: %clang_cc1 %s -emit-llvm -o - -triple=i686 -mlong-double-64 | \
|
|
// RUN: FileCheck --check-prefixes=FP64,FP64-X32 %s
|
|
// RUN: %clang_cc1 %s -emit-llvm -o - -triple=i686-apple-darwin -mlong-double-64 | \
|
|
// RUN: FileCheck --check-prefixes=FP64,FP64-X32 %s
|
|
// RUN: %clang_cc1 %s -emit-llvm -o - -triple=x86_64 -mlong-double-64 | \
|
|
// RUN: FileCheck --check-prefixes=FP64,FP64-X64 %s
|
|
// RUN: %clang_cc1 %s -emit-llvm -o - -triple=x86_64-apple-darwin -mlong-double-64 | \
|
|
// RUN: FileCheck --check-prefixes=FP64,FP64-X64 %s
|
|
|
|
// RUN: %clang_cc1 %s -emit-llvm -o - -triple=i686 -mlong-double-128 | \
|
|
// RUN: FileCheck --check-prefix=FP128 %s
|
|
// RUN: %clang_cc1 %s -emit-llvm -o - -triple=i686-apple-darwin -mlong-double-128 | \
|
|
// RUN: FileCheck --check-prefix=FP128 %s
|
|
// RUN: %clang_cc1 %s -emit-llvm -o - -triple=x86_64 -mlong-double-128 | \
|
|
// RUN: FileCheck --check-prefix=FP128 %s
|
|
// RUN: %clang_cc1 %s -emit-llvm -o - -triple=x86_64-apple-darwin -mlong-double-128 | \
|
|
// RUN: FileCheck --check-prefix=FP128 %s
|
|
|
|
// Check -malign-double increases the alignment from 4 to 8 on x86-32.
|
|
// RUN: %clang_cc1 %s -emit-llvm -o - -triple=i686 -mlong-double-64 \
|
|
// RUN: -malign-double | FileCheck --check-prefixes=FP64,FP64-X64 %s
|
|
// RUN: %clang_cc1 %s -emit-llvm -o - -triple=x86_64 -mlong-double-64 \
|
|
// RUN: -malign-double | FileCheck --check-prefixes=FP64,FP64-X64 %s
|
|
|
|
long double x = 0;
|
|
int size = sizeof(x);
|
|
|
|
// FP80-ELF32: @x = global x86_fp80 {{.*}}, align 4
|
|
// FP80-ELF32: @size = global i32 12
|
|
// FP80-ELF64: @x = global x86_fp80 {{.*}}, align 16
|
|
// FP80-ELF64: @size = global i32 16
|
|
// FP80-DARWIN: @x = global x86_fp80 {{.*}}, align 16
|
|
// FP80-DARWIN: @size = global i32 16
|
|
|
|
// FP64-X32: @x = global double {{.*}}, align 4
|
|
// FP64-X32: @size = global i32 8
|
|
// FP64-X64: @x = global double {{.*}}, align 8
|
|
// FP64-X64: @size = global i32 8
|
|
|
|
// FP128: @x = global fp128 {{.*}}, align 16
|
|
// FP128: @size = global i32 16
|
|
|
|
long double foo(long double d) { return d; }
|
|
|
|
// FP64: double @_Z3fooe(double %d)
|
|
// FP80: x86_fp80 @_Z3fooe(x86_fp80 %d)
|
|
// FP128: fp128 @_Z3foog(fp128 %d)
|