1*67e74705SXin Li // RUN: %clang_cc1 -triple i386-pc-elfiamcu -emit-llvm -o - %s | FileCheck %s 2*67e74705SXin Li 3*67e74705SXin Li // CHECK: target datalayout = "e-m:e-p:32:32-i64:32-f64:32-f128:32-n8:16:32-a:0:32-S32" 4*67e74705SXin Li // CHECK: target triple = "i386-pc-elfiamcu" 5*67e74705SXin Li 6*67e74705SXin Li 7*67e74705SXin Li void food(double *d); 8*67e74705SXin Li void fooll(long long *ll); 9*67e74705SXin Li void fooull(unsigned long long *ull); 10*67e74705SXin Li void foold(long double *ld); 11*67e74705SXin Li 12*67e74705SXin Li // CHECK-LABEL: define void @testdouble() 13*67e74705SXin Li // CHECK: alloca double, align 4 testdouble()14*67e74705SXin Livoid testdouble() { 15*67e74705SXin Li double d = 2.0; 16*67e74705SXin Li food(&d); 17*67e74705SXin Li } 18*67e74705SXin Li 19*67e74705SXin Li // CHECK-LABEL: define void @testlonglong() 20*67e74705SXin Li // CHECK: alloca i64, align 4 testlonglong()21*67e74705SXin Livoid testlonglong() { 22*67e74705SXin Li long long ll = 2; 23*67e74705SXin Li fooll(&ll); 24*67e74705SXin Li } 25*67e74705SXin Li 26*67e74705SXin Li // CHECK-LABEL: define void @testunsignedlonglong() 27*67e74705SXin Li // CHECK: alloca i64, align 4 testunsignedlonglong()28*67e74705SXin Livoid testunsignedlonglong() { 29*67e74705SXin Li unsigned long long ull = 2; 30*67e74705SXin Li fooull(&ull); 31*67e74705SXin Li } 32*67e74705SXin Li 33*67e74705SXin Li // CHECK-LABEL: define void @testlongdouble() 34*67e74705SXin Li // CHECK: alloca double, align 4 testlongdouble()35*67e74705SXin Livoid testlongdouble() { 36*67e74705SXin Li long double ld = 2.0; 37*67e74705SXin Li foold(&ld); 38*67e74705SXin Li } 39