+2018-04-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ Backport from mainline
+ 2018-04-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR target/85261
+ * config/arm/arm-builtins.c (arm_expand_builtin): Force input operand
+ into register.
+
2018-04-16 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline
icode = CODE_FOR_set_fpscr;
arg0 = CALL_EXPR_ARG (exp, 0);
op0 = expand_normal (arg0);
- pat = GEN_FCN (icode) (op0);
+ pat = GEN_FCN (icode) (force_reg (SImode, op0));
}
emit_insn (pat);
return target;
+2018-04-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ Backport from mainline
+ 2018-04-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR target/85261
+ * gcc.target/arm/fpscr.c: Add call to __builtin_arm_set_fpscr with
+ literal value. Expect 2 MCR instruction. Fix function prototype.
+ Remove volatile keyword.
+
2018-04-16 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline
/* { dg-add-options arm_fp } */
void
-test_fpscr ()
+test_fpscr (void)
{
- volatile unsigned int status = __builtin_arm_get_fpscr ();
+ unsigned status;
+
+ __builtin_arm_set_fpscr (0);
+ status = __builtin_arm_get_fpscr ();
__builtin_arm_set_fpscr (status);
}
/* { dg-final { scan-assembler "mrc\tp10, 7, r\[0-9\]+, cr1, cr0, 0" } } */
-/* { dg-final { scan-assembler "mcr\tp10, 7, r\[0-9\]+, cr1, cr0, 0" } } */
+/* { dg-final { scan-assembler-times "mcr\tp10, 7, r\[0-9\]+, cr1, cr0, 0" 2 } } */