13b49d274SSimon Pilgrim // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py 23b49d274SSimon Pilgrim // RUN: %clang_cc1 %s -O2 -emit-llvm -o - -triple x86_64-unknown-unknown -ffreestanding -ffp-exception-behavior=maytrap -Wall -Werror | FileCheck %s 33b49d274SSimon Pilgrim 43b49d274SSimon Pilgrim #include <immintrin.h> 53b49d274SSimon Pilgrim 6*6dcce422SSimon Pilgrim // PR104848 - ensure the _mm_set_ss/d headers don't implicity promote any integer/fp values. 73b49d274SSimon Pilgrim 83b49d274SSimon Pilgrim // CHECK-LABEL: @test_mm_set_ss( 93b49d274SSimon Pilgrim // CHECK-NEXT: entry: 10*6dcce422SSimon Pilgrim // CHECK-NEXT: [[VECINIT3_I:%.*]] = insertelement <4 x float> <float poison, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00>, float [[NUM:%.*]], i64 0 11*6dcce422SSimon Pilgrim // CHECK-NEXT: ret <4 x float> [[VECINIT3_I]] 123b49d274SSimon Pilgrim // 133b49d274SSimon Pilgrim __m128 test_mm_set_ss(float num) 143b49d274SSimon Pilgrim { 153b49d274SSimon Pilgrim return _mm_set_ss(num); 163b49d274SSimon Pilgrim } 173b49d274SSimon Pilgrim 183b49d274SSimon Pilgrim // CHECK-LABEL: @test_mm_set_sd( 193b49d274SSimon Pilgrim // CHECK-NEXT: entry: 20*6dcce422SSimon Pilgrim // CHECK-NEXT: [[VECINIT1_I:%.*]] = insertelement <2 x double> <double poison, double 0.000000e+00>, double [[NUM:%.*]], i64 0 213b49d274SSimon Pilgrim // CHECK-NEXT: ret <2 x double> [[VECINIT1_I]] 223b49d274SSimon Pilgrim // 233b49d274SSimon Pilgrim __m128d test_mm_set_sd(double num) 243b49d274SSimon Pilgrim { 253b49d274SSimon Pilgrim return _mm_set_sd(num); 263b49d274SSimon Pilgrim } 27