+2015-11-03 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64.md (*movhf_aarch64): Use
+ aarch64_reg_or_fp_zero for second operand.
+
2015-11-03 Alexandre Oliva <aoliva@redhat.com>
* gimple-expr.c: Include hash-set.h and rtl.h.
[(set (match_operand:HF 0 "nonimmediate_operand" "=w, ?r,w,w,m,r,m ,r")
(match_operand:HF 1 "general_operand" "?rY, w,w,m,w,m,rY,r"))]
"TARGET_FLOAT && (register_operand (operands[0], HFmode)
- || register_operand (operands[1], HFmode))"
+ || aarch64_reg_or_fp_zero (operands[1], HFmode))"
"@
mov\\t%0.h[0], %w1
umov\\t%w0, %1.h[0]
+2015-11-03 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/aarch64/fp16/set_zero_1.c: New.
+
2015-11-03 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/mvc1.c: Move to ...
--- /dev/null
+/* { dg-do run } */
+/* { dg-options "-O2" } */
+/* { dg-additional-options "-mfp16-format=ieee" { target "arm*-*-*" } } */
+
+extern void abort (void);
+
+__attribute__ ((noinline))
+void setfoo (__fp16 *f)
+{
+ *f = 0.0;
+}
+
+int
+main (int argc, char **argv)
+{
+ __fp16 a = 1.0;
+ setfoo (&a);
+ if (a != 0.0)
+ abort ();
+ return 0;
+}