re PR target/43638 (Internal compiler error with inline asm)
authorJakub Jelinek <jakub@redhat.com>
Tue, 6 Apr 2010 11:04:58 +0000 (13:04 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 6 Apr 2010 11:04:58 +0000 (13:04 +0200)
PR target/43638
* config/i386/i386.c (print_operand): Remove 'e' and 'E' code
handling.

* gcc.target/i386/pr43638.c: New test.

From-SVN: r157987

gcc/ChangeLog
gcc/config/i386/i386.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr43638.c [new file with mode: 0644]

index f181b059c70d672dbef1dcd513cc78ff6b185ecd..15fe7d74e82c8c5cb40cd698433d847fb7f3ced4 100644 (file)
@@ -1,3 +1,9 @@
+2010-04-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/43638
+       * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
+       handling.
+
 2010-04-06  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/43661
index 39b1da478c6c1853785263e076ae28127dd30d2a..cfd2270fba51f542d9791b6a9828c1623ad77e4d 100644 (file)
@@ -11390,7 +11390,6 @@ get_some_local_dynamic_name (void)
    L,W,B,Q,S,T -- print the opcode suffix for specified size of operand.
    C -- print opcode suffix for set/cmov insn.
    c -- like C, but print reversed condition
-   E,e -- likewise, but for compare-and-branch fused insn.
    F,f -- likewise, but for floating-point.
    O -- if HAVE_AS_IX86_CMOV_SUN_SYNTAX, expand to "w.", "l." or "q.",
         otherwise nothing
@@ -11795,14 +11794,6 @@ print_operand (FILE *file, rtx x, int code)
          put_condition_code (GET_CODE (x), GET_MODE (XEXP (x, 0)), 1, 1, file);
          return;
 
-       case 'E':
-         put_condition_code (GET_CODE (x), CCmode, 0, 0, file);
-         return;
-
-       case 'e':
-         put_condition_code (GET_CODE (x), CCmode, 1, 0, file);
-         return;
-
        case 'H':
          /* It doesn't actually matter what mode we use here, as we're
             only going to use this for printing.  */
index 9df8395fabec7daa74cff1cac8c700dcd037626e..7ea5901b0bc95eae593beeef6d759cc95863eb61 100644 (file)
@@ -1,3 +1,8 @@
+2010-04-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/43638
+       * gcc.target/i386/pr43638.c: New test.
+
 2010-04-06  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/43661
diff --git a/gcc/testsuite/gcc.target/i386/pr43638.c b/gcc/testsuite/gcc.target/i386/pr43638.c
new file mode 100644 (file)
index 0000000..9af06ae
--- /dev/null
@@ -0,0 +1,9 @@
+/* PR target/43638 */
+/* { dg-do compile } */
+
+void
+foo (void)
+{
+  int x;
+  __asm __volatile ("mov $0,%e0" : "=r" (x));  /* { dg-error "invalid operand code" } */
+}