diff options
author | Sudakshina Das <sudi.das@arm.com> | 2017-12-01 10:12:55 +0000 |
---|---|---|
committer | Sudakshina Das <sudi@gcc.gnu.org> | 2017-12-01 10:12:55 +0000 |
commit | 1500cb68c3d2a7b1ddc491af52a5d42ec7dfe6d8 (patch) | |
tree | 1181f7bb8c606a797197b55f30bf944c123a5160 /gcc | |
parent | e76c715735e2472429ef7927137a57edc69f98b3 (diff) | |
download | gcc-1500cb68c3d2a7b1ddc491af52a5d42ec7dfe6d8.zip gcc-1500cb68c3d2a7b1ddc491af52a5d42ec7dfe6d8.tar.gz gcc-1500cb68c3d2a7b1ddc491af52a5d42ec7dfe6d8.tar.bz2 |
Fix wrong code by arm_final_prescan with fp16 move instructions
ChangeLog entry are as follow:
*** gcc/ChangeLog ***
2017-12-01 Sudakshina Das <sudi.das@arm.com>
* config/arm/vfp.md (*movhf_vfp_fp16): Add conds attribute.
*** gcc/testsuite/ChangeLog ***
2017-12-01 Sudakshina Das <sudi.das@arm.com>
* gcc.target/arm/armv8_2-fp16-move-2.c: New test.
From-SVN: r255301
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/arm/vfp.md | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/armv8_2-fp16-move-2.c | 11 |
4 files changed, 23 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 09fd188..360561e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2017-12-01 Sudakshina Das <sudi.das@arm.com> + + * config/arm/vfp.md (*movhf_vfp_fp16): Add conds attribute. + 2017-12-01 Jakub Jelinek <jakub@redhat.com> * function.h (struct function): Remove cilk_frame_decl, diff --git a/gcc/config/arm/vfp.md b/gcc/config/arm/vfp.md index 075a938..61b6477 100644 --- a/gcc/config/arm/vfp.md +++ b/gcc/config/arm/vfp.md @@ -410,7 +410,10 @@ gcc_unreachable (); } } - [(set_attr "predicable" "yes, yes, no, yes, no, no, no, no, no, no") + [(set_attr "conds" "*, *, unconditional, *, unconditional, unconditional,\ + unconditional, unconditional, unconditional,\ + unconditional") + (set_attr "predicable" "yes, yes, no, yes, no, no, no, no, no, no") (set_attr "predicable_short_it" "no, no, no, yes,\ no, no, no, no,\ no, no") diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ea2f2c7..b51bd2a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2017-12-01 Sudakshina Das <sudi.das@arm.com> + + * gcc.target/arm/armv8_2-fp16-move-2.c: New test. + 2017-12-01 Jakub Jelinek <jakub@redhat.com> PR c/79153 diff --git a/gcc/testsuite/gcc.target/arm/armv8_2-fp16-move-2.c b/gcc/testsuite/gcc.target/arm/armv8_2-fp16-move-2.c new file mode 100644 index 0000000..fcb857f --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/armv8_2-fp16-move-2.c @@ -0,0 +1,11 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target arm_v8_2a_fp16_scalar_ok } */ +/* { dg-options "-O2 -marm" } */ +/* { dg-add-options arm_v8_2a_fp16_scalar } */ + +__fp16 +test_select (__fp16 a, __fp16 b, __fp16 c) +{ + return (a < b) ? b : c; +} +/* { dg-final { scan-assembler "bmi" } } */ |