gcc/ChangeLog
2015-12-06 Victoria Stepanyan <victoria.stepanyan@amd.com>
* common/config/i386/i386-common.c
(OPTION_MASK_ISA_CLZERO_SET): New.
(ix86_handle_option): Handle clzero.
* config.gcc (i[34567]86-*-*): Add clzerointrin.h,
(x86_64-*-*): Likewise.
* config/i386/clzerointrin.h: New header.
* config/i386/cpuid.h (bit_CLZERO): Define.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
CLZERO support.
* config/i386/i386.opt (clzero): New.
* config/i386/i386-c.c: Define __CLZERO__ if needed.
* config/i386/i386.c (ix86_target_string): Define -mclzero option.
(PTA_CLZERO): New.
(ix86_option_override_internal): Handle new option.
(processor_alias_table): Added PTA_CLZERO.
(ix86_valid_target_attribute_inner_p): Add OPT_mclzero.
(ix86_builtins): Add IX86_BUILTIN_CLZERO, IX86_BUILTIN_CLZERO.
(ix86_expand_builtin): Handle IX86_BUILTIN_CLZERO and
IX86_BUILTIN_CLZERO built-ins.
* config/i386/i386.h (TARGET_CLZERO): New.
* config/i386/i386.md (unspecv): Add UNSPEC_CLZERO.
(clzero): New pattern.
(clzero_<mode>): New pattern.
* config/i386/x86intrin.h: Include clzerointrin.h.
* doc/extend.texi: Document clzero builtins.
* doc/invoke.texi: Document -mclzero option.
gcc/testsuite/ChangeLog
2015-12-06 Victoria Stepanyan <victoria.stepanyan@amd.com>
* gcc.target/i386/clzero.c: New.
* gcc.target/i386/sse-12.c: Add -mclzero.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.
* g++.dg/other/i386-2.C: Ditto.
* g++.dg/other/i386-3.C: Ditto.
From-SVN: r231340
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| aarch64 | Loading commit data... | |
| alpha | Loading commit data... | |
| arc | Loading commit data... | |
| arm | Loading commit data... | |
| avr | Loading commit data... | |
| bfin | Loading commit data... | |
| c6x | Loading commit data... | |
| cr16 | Loading commit data... | |
| cris | Loading commit data... | |
| epiphany | Loading commit data... | |
| fr30 | Loading commit data... | |
| frv | Loading commit data... | |
| h8300 | Loading commit data... | |
| i386 | Loading commit data... | |
| ia64 | Loading commit data... | |
| iq2000 | Loading commit data... | |
| lm32 | Loading commit data... | |
| m32r | Loading commit data... | |
| m68k | Loading commit data... | |
| mcore | Loading commit data... | |
| mep | Loading commit data... | |
| microblaze | Loading commit data... | |
| mips | Loading commit data... | |
| mmix | Loading commit data... | |
| mn10300 | Loading commit data... | |
| msp430 | Loading commit data... | |
| nds32 | Loading commit data... | |
| nios2 | Loading commit data... | |
| nvptx | Loading commit data... | |
| pa | Loading commit data... | |
| pdp11 | Loading commit data... | |
| rs6000 | Loading commit data... | |
| rx | Loading commit data... | |
| s390 | Loading commit data... | |
| sh | Loading commit data... | |
| sparc | Loading commit data... | |
| spu | Loading commit data... | |
| tilegx | Loading commit data... | |
| tilepro | Loading commit data... | |
| v850 | Loading commit data... | |
| vax | Loading commit data... | |
| visium | Loading commit data... | |
| xstormy16 | Loading commit data... | |
| xtensa | Loading commit data... | |
| default-common.c | Loading commit data... |