55 lines · c
1// RUN: %clang_cc1 -emit-llvm -triple i386-linux -Wno-unknown-pragmas %s -o - | FileCheck %s2 3// nextUp(1.F) == 0x1.000002p0F4 5const double _Complex C0 = 0x1.000001p0 + 0x1.000001p0I;6 7#pragma STDC FENV_ROUND FE_UPWARD8 9float F1u = 1.0F + 0x0.000002p0F;10float F2u = 1.0F + 0x0.000001p0F;11float F3u = 0x1.000001p0;12// CHECK: @F1u = {{.*}} float 0x3FF000002000000013// CHECK: @F2u = {{.*}} float 0x3FF000002000000014// CHECK: @F3u = {{.*}} float 0x3FF000002000000015 16float FI1u = 0xFFFFFFFFU;17// CHECK: @FI1u = {{.*}} float 0x41F000000000000018 19float _Complex C1u = C0;20// CHECK: @C1u = {{.*}} { float, float } { float 0x3FF0000020000000, float 0x3FF0000020000000 }21 22float FLu = 0.1F;23// CHECK: @FLu = {{.*}} float 0x3FB99999A000000024 25typedef float vector2float __attribute__((__vector_size__(8)));26typedef double vector2double __attribute__((__vector_size__(16)));27const vector2float V2Fu = {1.0F + 0x0.000001p0F, 1.0F + 0x0.000002p0F};28vector2double V2Du = __builtin_convertvector(V2Fu, vector2double);29// CHECK: @V2Fu = {{.*}} <2 x float> splat (float 0x3FF0000020000000)30// CHECK: @V2Du = {{.*}} <2 x double> splat (double 0x3FF0000020000000)31 32#pragma STDC FENV_ROUND FE_DOWNWARD33 34float F1d = 1.0F + 0x0.000002p0F;35float F2d = 1.0F + 0x0.000001p0F;36float F3d = 0x1.000001p0;37 38// CHECK: @F1d = {{.*}} float 0x3FF000002000000039// CHECK: @F2d = {{.*}} float 1.000000e+0040// CHECK: @F3d = {{.*}} float 1.000000e+0041 42float FI1d = 0xFFFFFFFFU;43// CHECK: @FI1d = {{.*}} float 0x41EFFFFFE000000044 45float _Complex C1d = C0;46// CHECK: @C1d = {{.*}} { float, float } { float 1.000000e+00, float 1.000000e+00 }47 48float FLd = 0.1F;49// CHECK: @FLd = {{.*}} float 0x3FB999998000000050 51const vector2float V2Fd = {1.0F + 0x0.000001p0F, 1.0F + 0x0.000002p0F};52vector2double V2Dd = __builtin_convertvector(V2Fd, vector2double);53// CHECK: @V2Fd = {{.*}} <2 x float> <float 1.000000e+00, float 0x3FF0000020000000>54// CHECK: @V2Dd = {{.*}} <2 x double> <double 1.000000e+00, double 0x3FF0000020000000>55