diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2014-01-16 09:23:33 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2014-01-16 09:23:33 +0100 |
commit | 4ac005badf532dcf778b784a5d67664e50f0c690 (patch) | |
tree | cac7857525f6200fb927daa637a9b5b0445a0f7e | |
parent | c4ef5952f6d19bcdfc8dd8f3f5a2a09c8f079115 (diff) | |
download | gcc-4ac005badf532dcf778b784a5d67664e50f0c690.zip gcc-4ac005badf532dcf778b784a5d67664e50f0c690.tar.gz gcc-4ac005badf532dcf778b784a5d67664e50f0c690.tar.bz2 |
i386.c (ix86_hard_regno_mode_ok): Use VALID_AVX256_REG_OR_OI_MODE.
* config/i386/i386.c (ix86_hard_regno_mode_ok): Use
VALID_AVX256_REG_OR_OI_MODE.
From-SVN: r206658
-rw-r--r-- | gcc/ChangeLog | 44 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.h | 2 |
3 files changed, 28 insertions, 24 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0788036..255597f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-01-15 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.c (ix86_hard_regno_mode_ok): Use + VALID_AVX256_REG_OR_OI_MODE. + 2014-01-15 Pat Haugen <pthaugen@us.ibm.com> * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if @@ -142,9 +147,8 @@ PR target/59794 * config/i386/i386.c (type_natural_mode): Add a bool parameter - to indicate if type is used for function return value. Warn - ABI change if the vector mode isn't available for function - return value. + to indicate if type is used for function return value. Warn ABI + change if the vector mode isn't available for function return value. (ix86_function_arg_advance): Pass false to type_natural_mode. (ix86_function_arg): Likewise. (ix86_gimplify_va_arg): Likewise. @@ -201,8 +205,10 @@ (<sse4_1_avx2>_movntdqa): Extend to 512 bits. (avx512er_exp2<mode><mask_name><round_saeonly_name>): Fix rounding: make it SAE only. - (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>): Ditto. - (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>): Ditto. + (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>): + Ditto. + (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>): + Ditto. (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto. (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto. (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto. @@ -316,8 +322,8 @@ 2014-01-10 Jan Hubicka <jh@suse.cz> PR ipa/58585 - * ipa-devirt.c (build_type_inheritance_graph): Also add types of vtables - into the type inheritance graph. + * ipa-devirt.c (build_type_inheritance_graph): Also add types of + vtables into the type inheritance graph. 2014-01-10 Jakub Jelinek <jakub@redhat.com> @@ -475,17 +481,17 @@ 2014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com> - * cfgexpand.c (expand_stack_vars): Optionally disable + * cfgexpand.c (expand_stack_vars): Optionally disable asan stack protection. (expand_used_vars): Likewise. (partition_stack_vars): Likewise. - * asan.c (asan_emit_stack_protection): Optionally disable + * asan.c (asan_emit_stack_protection): Optionally disable after return stack usage. - (instrument_derefs): Optionally disable memory + (instrument_derefs): Optionally disable memory access instrumentation. (instrument_builtin_call): Likewise. (instrument_strlen_call): Likewise. - (asan_protect_global): Optionally disable + (asan_protect_global): Optionally disable global variables protection. * doc/invoke.texi: Added doc for new options. * params.def: Added new options. @@ -512,7 +518,8 @@ 2014-01-08 Catherine Moore <clm@codesourcery.com> - * config/mips/mips.md (simple_return): Attempt to use JRC for microMIPS. + * config/mips/mips.md (simple_return): Attempt to use JRC + for microMIPS. * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS. 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com> @@ -557,7 +564,7 @@ (store_expr): Adjust. * cfgexpand.c (expand_call_stmt): Adjust. -2014-01-08 Rong Xu <xur@google.com> +2014-01-08 Rong Xu <xur@google.com> * gcov-io.c (gcov_var): Move from gcov-io.h. (gcov_position): Ditto. @@ -610,12 +617,10 @@ PR middle-end/53623 * ree.c (combine_set_extension): Handle case where source and destination registers in an extension insn are different. - (combine_reaching_defs): Allow source and destination - registers in extension to be different under limited - circumstances. + (combine_reaching_defs): Allow source and destination registers + in extension to be different under limited circumstances. (add_removable_extension): Remove restriction that the - source and destination registers in the extension are the - same. + source and destination registers in the extension are the same. (find_and_remove_re): Emit a copy from the extension's destination to its source after the defining insn if the source and destination registers are different. @@ -640,8 +645,7 @@ PR 57386/target * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p): - Only check TFmode for SPE constants. Don't check TImode or - TDmode. + Only check TFmode for SPE constants. Don't check TImode or TDmode. 2014-01-07 James Greenhalgh <james.greenhalgh@arm.com> diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index e981bbe..73c5a86 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -37473,9 +37473,9 @@ ix86_hard_regno_mode_ok (int regno, enum machine_mode mode) if (EXT_REX_SSE_REGNO_P (regno)) return false; - /* OImode move is available only when AVX is enabled. */ - return ((TARGET_AVX && mode == OImode) - || (TARGET_AVX && VALID_AVX256_REG_MODE (mode)) + /* OImode and AVX modes are available only when AVX is enabled. */ + return ((TARGET_AVX + && VALID_AVX256_REG_OR_OI_MODE (mode)) || VALID_SSE_REG_MODE (mode) || VALID_SSE2_REG_MODE (mode) || VALID_MMX_REG_MODE (mode) diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index 27151f6..3199b41 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -1047,7 +1047,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); || (MODE) == V4DImode || (MODE) == V2TImode || (MODE) == V8SFmode \ || (MODE) == V4DFmode) -#define VALID_AVX256_REG_OR_OI_MODE(MODE) \ +#define VALID_AVX256_REG_OR_OI_MODE(MODE) \ (VALID_AVX256_REG_MODE (MODE) || (MODE) == OImode) #define VALID_AVX512F_SCALAR_MODE(MODE) \ |