Backported 'Fix wrong code by arm_final_prescan with fp16 move instructions'

ChangeLog entry are as follow:

*** gcc/ChangeLog ***

2017-12-11  Sudakshina Das  <sudi.das@arm.com>

	Backported from trunk
	2017-12-01  Sudakshina Das  <sudi.das@arm.com>

	* config/arm/vfp.md (*movhf_vfp_fp16): Add conds attribute.

*** gcc/testsuite/ChangeLog ***

2017-12-11  Sudakshina Das  <sudi.das@arm.com>

	Backported from trunk
	2017-12-01  Sudakshina Das  <sudi.das@arm.com>

	* gcc.target/arm/armv8_2-fp16-move-2.c: New test.

From-SVN: r255541
This commit is contained in:
Sudakshina Das 2017-12-11 17:07:33 +00:00 committed by Sudakshina Das
parent 5e8974d1f2
commit e9c07226b8
4 changed files with 29 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2017-12-11 Sudakshina Das <sudi.das@arm.com>
Backported from trunk
2017-12-01 Sudakshina Das <sudi.das@arm.com>
* config/arm/vfp.md (*movhf_vfp_fp16): Add conds attribute.
2017-12-07 Kelvin Nilsen <kelvin@gcc.gnu.org> 2017-12-07 Kelvin Nilsen <kelvin@gcc.gnu.org>
Backport from trunk Backport from trunk

View File

@ -456,7 +456,10 @@
gcc_unreachable (); 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,\ (set_attr "predicable_short_it" "no, no, no, yes,\
no, no, no, no,\ no, no, no, no,\
no, no") no, no")

View File

@ -1,3 +1,10 @@
2017-12-11 Sudakshina Das <sudi.das@arm.com>
Backported from trunk
2017-12-01 Sudakshina Das <sudi.das@arm.com>
* gcc.target/arm/armv8_2-fp16-move-2.c: New test.
2017-12-07 Kelvin Nilsen <kelvin@gcc.gnu.org> 2017-12-07 Kelvin Nilsen <kelvin@gcc.gnu.org>
Backport from trunk Backport from trunk

View File

@ -0,0 +1,11 @@
/* { dg-do compile } */
/* { dg-require-effective-target arm_v8_2a_fp16_scalar_ok } */
/* { dg-options "-O2 -mfpu=fp-armv8 -march=armv8.2-a+fp16 -marm -mfloat-abi=hard" } */
/* { 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 "bpl" } } */