+2016-08-11 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/tc-aarch64.c (parse_aarch64_imm_float): Reject -0.0.
+ * testsuite/gas/aarch64/illegal.s, testsuite/gas/aarch64/illegal.l:
+ Add tests for -0.0. Add an end-of-file comment.
+
2016-08-05 Nick Clifton <nickc@redhat.com>
PR gas/20429
}
}
- if (aarch64_imm_float_p (fpword) || (fpword & 0x7fffffff) == 0)
+ if (aarch64_imm_float_p (fpword) || fpword == 0)
{
*immed = fpword;
*ccp = str;
[^:]*:567: Error: .*`mrs x7,S1_1_C16_C6_6'
[^:]*:568: Error: .*`mrs x8,S2_2_C15_C16_7'
[^:]*:569: Error: .*`mrs x9,S3_3_C14_C15_8'
-[^:]*:569: Error: .*
+[^:]*:571: Error: .*`fmov s0,#-0\.0'
+[^:]*:573: Error: .*`fmov s0,#0x80000000'
+[^:]*:575: Error: .*`fmov d0,#-0\.0'
+[^:]*:577: Error: .*`fmov d0,#0x8000000000000000'
+[^:]*:582: Error: .*`fcmgt v0\.4s,v0\.4s,#-0\.0'
+[^:]*:585: Error: .*`fcmgt v0\.2d,v0\.2d,#-0\.0'
+[^:]*:587: Error: .*
mrs x7, S1_1_C16_C6_6
mrs x8, S2_2_C15_C16_7
mrs x9, S3_3_C14_C15_8
+
+ fmov s0, #-0.0
+ fmov s0, #0x40000000 // OK
+ fmov s0, #0x80000000
+ fmov s0, #0xc0000000 // OK
+ fmov d0, #-0.0
+ fmov d0, #0x4000000000000000 // OK
+ fmov d0, #0x8000000000000000
+ fmov d0, #0xc000000000000000 // OK
+
+ fcmgt v0.4s, v0.4s, #0.0 // OK
+ fcmgt v0.4s, v0.4s, #0 // OK
+ fcmgt v0.4s, v0.4s, #-0.0
+ fcmgt v0.2d, v0.2d, #0.0 // OK
+ fcmgt v0.2d, v0.2d, #0 // OK
+ fcmgt v0.2d, v0.2d, #-0.0
+
+ // End (for errors during literal pool generation)