From a22056479c1ec82073209cb070e310f3bddc7a59 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Tue, 25 Oct 2005 15:01:12 +0200 Subject: [PATCH] i386-1.C: Include i386-cpuid.h. * g++.dg/other/i386-1.C: Include i386-cpuid.h. Pass if CPU has no SSE support. From-SVN: r105885 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.dg/other/i386-1.C | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e3adbc4b385..53cddc0bbc2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-10-25 Uros Bizjak + + * g++.dg/other/i386-1.C: Include i386-cpuid.h. Pass if + CPU has no SSE support. + 2005-10-24 Jerry DeLisle PR libgfortran/24224 diff --git a/gcc/testsuite/g++.dg/other/i386-1.C b/gcc/testsuite/g++.dg/other/i386-1.C index 48371978a98..c579cf2f8c6 100644 --- a/gcc/testsuite/g++.dg/other/i386-1.C +++ b/gcc/testsuite/g++.dg/other/i386-1.C @@ -3,13 +3,23 @@ #include #include +#include "../../gcc.dg/i386-cpuid.h" int main(int argc, char** argv) { float a = 1.0f; float b = 2.0f; float c = 3.0f; float r; - + + unsigned long cpu_facilities; + + cpu_facilities = i386_cpuid (); + + if ((cpu_facilities & (bit_MMX | bit_SSE | bit_CMOV)) + != (bit_MMX | bit_SSE | bit_CMOV)) + /* If host has no vector support, pass. */ + return 0; + __m128 v = _mm_set_ps(a, b, c, 0); v = (__m128)_mm_srli_si128((__m128i)v, 4); -- 2.30.2