diff options
author | Alan Lawrence <alan.lawrence@arm.com> | 2015-06-24 16:26:38 +0000 |
---|---|---|
committer | Alan Lawrence <alalaw01@gcc.gnu.org> | 2015-06-24 16:26:38 +0000 |
commit | 31ca7cbaa81e6a0f2425659797753e7c3e26b6ad (patch) | |
tree | 4a670dc7c46d8dd96bed2bd2c30914585ac4ca70 /gcc | |
parent | a591e1d14ae3fdfe49d74bcdf94d5f0ba41fe3dd (diff) | |
download | gcc-31ca7cbaa81e6a0f2425659797753e7c3e26b6ad.zip gcc-31ca7cbaa81e6a0f2425659797753e7c3e26b6ad.tar.gz gcc-31ca7cbaa81e6a0f2425659797753e7c3e26b6ad.tar.bz2 |
[AArch64] Fix another ICE with -mgeneral-regs-only
gcc/:
* config/aarch64/aarch64.md (<optab><fcvt_target><GPF:mode>2):
Condition on TARGET_FLOAT.
gcc/testsuite/:
* gcc.target/aarch64/mgeneral-regs_3.c: New.
From-SVN: r224910
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.md | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/mgeneral-regs_3.c | 11 |
4 files changed, 21 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bf4f27c..944e89c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2015-06-24 Alan Lawrence <alan.lawrence@arm.com> + * config/aarch64/aarch64.md (<optab><fcvt_target><GPF:mode>2): + Condition on TARGET_FLOAT. + +2015-06-24 Alan Lawrence <alan.lawrence@arm.com> + * doc/invoke.texi: Clarify AArch64 feature modifiers (no)fp, (no)simd and (no)crypto. diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md index 934c8fa..dbc4d1f 100644 --- a/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md @@ -4117,7 +4117,7 @@ (define_insn "<optab><fcvt_target><GPF:mode>2" [(set (match_operand:GPF 0 "register_operand" "=w,w") (FLOATUORS:GPF (match_operand:<FCVT_TARGET> 1 "register_operand" "w,r")))] - "" + "TARGET_FLOAT" "@ <su_optab>cvtf\t%<GPF:s>0, %<s>1 <su_optab>cvtf\t%<GPF:s>0, %<w1>1" diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b9084a6..61045d3 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,9 @@ 2015-06-24 Alan Lawrence <alan.lawrence@arm.com> + * gcc.target/aarch64/mgeneral-regs_3.c: New. + +2015-06-24 Alan Lawrence <alan.lawrence@arm.com> + * gcc.target/aarch64/mgeneral-regs_1.c: New file. * gcc.target/aarch64/mgeneral-regs_2.c: New file. * gcc.target/aarch64/nofp_1.c: New file. diff --git a/gcc/testsuite/gcc.target/aarch64/mgeneral-regs_3.c b/gcc/testsuite/gcc.target/aarch64/mgeneral-regs_3.c new file mode 100644 index 0000000..f6b5fba --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/mgeneral-regs_3.c @@ -0,0 +1,11 @@ +/* { dg-options "-mgeneral-regs-only -O2" } */ + +extern void abort (void); + +int +test (int i, ...) +{ + float f = (float) i; /* { dg-error "'-mgeneral-regs-only' is incompatible with floating-point code" } */ + if (f != f) abort (); + return 2; +} |