aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/i386/i386.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/i386/i386.c')
-rw-r--r--gcc/config/i386/i386.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 3263656eef3..a607ef441ff 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -15211,7 +15211,7 @@ print_reg (rtx x, int code, FILE *file)
&& regno != FPSR_REG
&& regno != FPCR_REG);
- if (code == 'w' || MMX_REG_P (x))
+ if (code == 'w')
code = 2;
else if (code == 'b')
code = 1;
@@ -15276,7 +15276,7 @@ print_reg (rtx x, int code, FILE *file)
case 8:
case 4:
case 12:
- if (! ANY_FP_REG_P (x) && ! ANY_MASK_REG_P (x) && ! ANY_BND_REG_P (x))
+ if (LEGACY_INT_REG_P (x))
putc (code == 8 && TARGET_64BIT ? 'r' : 'e', file);
/* FALLTHRU */
case 16:
@@ -15295,21 +15295,14 @@ print_reg (rtx x, int code, FILE *file)
reg = qi_high_reg_name[regno];
break;
case 32:
+ case 64:
if (SSE_REG_P (x))
{
gcc_assert (!duplicated);
- putc ('y', file);
+ putc (code == 32 ? 'y' : 'z', file);
fputs (hi_reg_name[regno] + 1, file);
return;
}
- case 64:
- if (SSE_REG_P (x))
- {
- gcc_assert (!duplicated);
- putc ('z', file);
- fputs (hi_reg_name[REGNO (x)] + 1, file);
- return;
- }
break;
default:
gcc_unreachable ();