PR inline-asm/93202
* config/riscv/riscv.c (riscv_print_operand_reloc): Use
output_operand_lossage instead of gcc_unreachable.
* doc/md.texi (riscv f constraint): Fix typo.
* gcc.target/riscv/pr93202.c: New test.
From-SVN: r280030
2020-01-09 Jakub Jelinek <jakub@redhat.com>
+ PR inline-asm/93202
+ * config/riscv/riscv.c (riscv_print_operand_reloc): Use
+ output_operand_lossage instead of gcc_unreachable.
+ * doc/md.texi (riscv f constraint): Fix typo.
+
PR target/93141
* config/i386/i386.md (subv<mode>4): Use SWIDWI iterator instead of
SWI. Use <general_hilo_operand> instead of <general_operand>. Use
break;
default:
- gcc_unreachable ();
+ output_operand_lossage ("invalid use of '%%%c'", hi_reloc ? 'h' : 'R');
+ return;
}
fprintf (file, "%s(", reloc);
@table @code
@item f
-A floating-point register (if availiable).
+A floating-point register (if available).
@item I
An I-type 12-bit signed immediate.
2020-01-09 Jakub Jelinek <jakub@redhat.com>
+ PR inline-asm/93202
+ * gcc.target/riscv/pr93202.c: New test.
+
PR target/93141
* gcc.target/i386/pr93141-1.c: Add tests with constants that have MSB
of the low half of the constant set.
--- /dev/null
+/* PR inline-asm/93202 */
+/* { dg-do compile { target fpic } } */
+/* { dg-options "-fpic" } */
+
+void
+foo (void)
+{
+ asm volatile ("%h0" :: "i" (&foo)); /* { dg-error "invalid use of '%h'" } */
+ asm volatile ("%R0" :: "i" (&foo)); /* { dg-error "invalid use of '%R'" } */
+}