r194972 - in /trunk/gcc: ChangeLog config/aarch...
jgreenhalgh@gcc.gnu.org
jgreenhalgh@gcc.gnu.org
Mon Jan 7 15:22:00 GMT 2013
Author: jgreenhalgh
Date: Mon Jan 7 15:22:06 2013
New Revision: 194972
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=194972
Log:
[AARCH64] Add support for vector and scalar floating-point immediate loads.
gcc/
* config/aarch64/aarch64-protos.h
(aarch64_const_double_zero_rtx_p): Rename to...
(aarch64_float_const_zero_rtx_p): ...this.
(aarch64_float_const_representable_p): New.
(aarch64_output_simd_mov_immediate): Likewise.
* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
move immediate case.
* config/aarch64/aarch64.c
(aarch64_const_double_zero_rtx_p): Rename to...
(aarch64_float_const_zero_rtx_p): ...this.
(aarch64_print_operand): Allow printing of new constants.
(aarch64_valid_floating_const): New.
(aarch64_legitimate_constant_p): Check for valid floating-point
constants.
(aarch64_simd_valid_immediate): Likewise.
(aarch64_vect_float_const_representable_p): New.
(aarch64_float_const_representable_p): Likewise.
(aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
(aarch64_output_simd_mov_immediate): New.
* config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
(*movdf_aarch64): Likewise.
* config/aarch64/constraints.md (Ufc): New.
(Y): call aarch64_float_const_zero_rtx.
* config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
gcc/testsuite/
* gcc.target/aarch64/fmovd.c: New.
* gcc.target/aarch64/fmovf.c: Likewise.
* gcc.target/aarch64/fmovd-zero.c: Likewise.
* gcc.target/aarch64/fmovf-zero.c: Likewise.
* gcc.target/aarch64/vect-fmovd.c: Likewise.
* gcc.target/aarch64/vect-fmovf.c: Likewise.
* gcc.target/aarch64/vect-fmovd-zero.c: Likewise.
* gcc.target/aarch64/vect-fmovf-zero.c: Likewise.
Added:
trunk/gcc/testsuite/gcc.target/aarch64/fmovd-zero.c
trunk/gcc/testsuite/gcc.target/aarch64/fmovd.c
trunk/gcc/testsuite/gcc.target/aarch64/fmovf-zero.c
trunk/gcc/testsuite/gcc.target/aarch64/fmovf.c
trunk/gcc/testsuite/gcc.target/aarch64/vect-fmovd-zero.c
trunk/gcc/testsuite/gcc.target/aarch64/vect-fmovd.c
trunk/gcc/testsuite/gcc.target/aarch64/vect-fmovf-zero.c
trunk/gcc/testsuite/gcc.target/aarch64/vect-fmovf.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/aarch64/aarch64-protos.h
trunk/gcc/config/aarch64/aarch64-simd.md
trunk/gcc/config/aarch64/aarch64.c
trunk/gcc/config/aarch64/aarch64.md
trunk/gcc/config/aarch64/constraints.md
trunk/gcc/config/aarch64/predicates.md
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-cvs
mailing list