[PATCH] PR 38201: -mfma/-mavx and -msse5/-msse4a don't work together

H.J. Lu hjl.tools@gmail.com
Tue Dec 9 22:13:00 GMT 2008


On Mon, Dec 8, 2008 at 9:30 PM, Ye, Joey <joey.ye@intel.com> wrote:
> 2008-12-09      Joey Ye <joey.ye@intel.com>
> ChangeLog:
>        PR target/38201
>        * config/i386/i386.c (check_isa_conflict): New function.
>        (ix86_handle_option): Calls check_isa_conflict.
>
> Testsuites/ChangeLog:
>        * gcc.target/i386/avx-sse4a.c: New testcase.
>        * gcc.target/i386/sse5-avx.c: Likewise.
>        * gcc.target/i386/sse4a-avx.c: Likewise.
>        * gcc.target/i386/3dnow-avx.c: Likewise.
>        * gcc.target/i386/avx-3dnow.c: Likewise.
>        * gcc.target/i386/avx-sse5.c: Likewise.
>        * gcc.target/i386/avx-1.c: Remove -msse5 and -m3dnow option and intrinsic.
>        * gcc.target/i386/avx-2.c: Likewise.
>        * g++.dg/other/i386-5.C: Remove -mavx option.
>        * g++.dg/other/i386-6.C: Likewise.
>        * g++.dg/other/i386-7.C: New case.
>        * g++.dg/other/i386-8.C: Likewise.
>

Hi,

Here is the updated patch with missing new testcases as well as
new testcases for "-march=XXX -mavx". When there is a future
processor which supports AVX and SSE4a/SSE5, we can
update x86 backend to support it properly. Tested on Linux/ia32
and Linux/Intel64.  OK for trunk?

Thanks.


-- 
H.J.
---
gcc/

2008-12-09  Joey Ye  <joey.ye@intel.com>
	    H.J. Lu  <hongjiu.lu@intel.com>

	PR target/38201
	* config/i386/i386.c (override_options): Don't allow AVX with
	3DNow!/SSE4a/SSE5.

gcc/testsuite/

2008-12-09  Joey Ye  <joey.ye@intel.com>
	    H.J. Lu  <hongjiu.lu@intel.com>

	* g++.dg/other/i386-5.C: Remove -mavx option.  Don't include
	 <immintrin.h>.
	* g++.dg/other/i386-6.C: Likewise.

	* g++.dg/other/i386-7.C: New case.
	* g++.dg/other/i386-8.C: Likewise.
	* gcc.target/i386/3dnow-avx.c: Likewise.
	* gcc.target/i386/avx-3dnow.c: Likewise.
	* gcc.target/i386/avx-k8.c: Likewise.
	* gcc.target/i386/avx-sse4a.c: Likewise.
	* gcc.target/i386/avx-sse5.c: Likewise.
	* gcc.target/i386/k8-avx.c: Likewise.
	* gcc.target/i386/sse4a-avx.c: Likewise.
	* gcc.target/i386/sse5-avx.c: Likewise.

	* gcc.target/i386/avx-1.c: Remove -march=k8, -msse5 and -m3dnow
	options as well as their intrinsics.
	* gcc.target/i386/avx-2.c: Likewise.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gcc-pr38201-1.patch
Type: application/octet-stream
Size: 8856 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20081209/e207858d/attachment.obj>


More information about the Gcc-patches mailing list