57 lines · cpp
1// RUN: %clang_cc1 %s -emit-llvm -o - -triple=i686 | \2// RUN: FileCheck --check-prefixes=FP80,FP80-ELF32 %s3// RUN: %clang_cc1 %s -emit-llvm -o - -triple=i686-apple-darwin | \4// RUN: FileCheck --check-prefixes=FP80,FP80-DARWIN %s5// RUN: %clang_cc1 %s -emit-llvm -o - -triple=x86_64 | \6// RUN: FileCheck --check-prefixes=FP80,FP80-ELF64 %s7// RUN: %clang_cc1 %s -emit-llvm -o - -triple=x86_64-apple-darwin | \8// RUN: FileCheck --check-prefixes=FP80,FP80-DARWIN %s9 10// RUN: %clang_cc1 %s -emit-llvm -o - -triple=i686 -mlong-double-64 | \11// RUN: FileCheck --check-prefixes=FP64,FP64-X32 %s12// RUN: %clang_cc1 %s -emit-llvm -o - -triple=i686-apple-darwin -mlong-double-64 | \13// RUN: FileCheck --check-prefixes=FP64,FP64-X32 %s14// RUN: %clang_cc1 %s -emit-llvm -o - -triple=x86_64 -mlong-double-64 | \15// RUN: FileCheck --check-prefixes=FP64,FP64-X64 %s16// RUN: %clang_cc1 %s -emit-llvm -o - -triple=x86_64-apple-darwin -mlong-double-64 | \17// RUN: FileCheck --check-prefixes=FP64,FP64-X64 %s18 19// RUN: %clang_cc1 %s -emit-llvm -o - -triple=i686 -mlong-double-128 | \20// RUN: FileCheck --check-prefix=FP128 %s21// RUN: %clang_cc1 %s -emit-llvm -o - -triple=i686-apple-darwin -mlong-double-128 | \22// RUN: FileCheck --check-prefix=FP128 %s23// RUN: %clang_cc1 %s -emit-llvm -o - -triple=x86_64 -mlong-double-128 | \24// RUN: FileCheck --check-prefix=FP128 %s25// RUN: %clang_cc1 %s -emit-llvm -o - -triple=x86_64-apple-darwin -mlong-double-128 | \26// RUN: FileCheck --check-prefix=FP128 %s27 28// Check -malign-double increases the alignment from 4 to 8 on x86-32.29// RUN: %clang_cc1 %s -emit-llvm -o - -triple=i686 -mlong-double-64 \30// RUN: -malign-double | FileCheck --check-prefixes=FP64,FP64-X64 %s31// RUN: %clang_cc1 %s -emit-llvm -o - -triple=x86_64 -mlong-double-64 \32// RUN: -malign-double | FileCheck --check-prefixes=FP64,FP64-X64 %s33 34long double x = 0;35int size = sizeof(x);36 37// FP80-ELF32: @x ={{.*}} global x86_fp80 {{.*}}, align 438// FP80-ELF32: @size ={{.*}} global i32 1239// FP80-ELF64: @x ={{.*}} global x86_fp80 {{.*}}, align 1640// FP80-ELF64: @size ={{.*}} global i32 1641// FP80-DARWIN: @x ={{.*}} global x86_fp80 {{.*}}, align 1642// FP80-DARWIN: @size ={{.*}} global i32 1643 44// FP64-X32: @x ={{.*}} global double {{.*}}, align 445// FP64-X32: @size ={{.*}} global i32 846// FP64-X64: @x ={{.*}} global double {{.*}}, align 847// FP64-X64: @size ={{.*}} global i32 848 49// FP128: @x ={{.*}} global fp128 {{.*}}, align 1650// FP128: @size ={{.*}} global i32 1651 52long double foo(long double d) { return d; }53 54// FP64: double @_Z3fooe(double noundef %d)55// FP80: x86_fp80 @_Z3fooe(x86_fp80 noundef %d)56// FP128: fp128 @_Z3foog(fp128 noundef %d)57