+2013-10-08 DJ Delorie <dj@redhat.com>
+
+ * config/rl78/rl78.c (rl78_print_operand_1): Change %c to %C to
+ avoid conflict with the MI use of %c.
+ * config/rl78/rl78-real.md: change %c to %C throughout.
+ * config/rl78/rl78-virt.md: Likewise.
+
2013-10-08 Jan Hubicka <jh@suse.cz>
* config/i386/i386.c (ix86_option_override_internal): Switch
(pc)))]
"rl78_real_insns_ok ()"
"@
- cmp\t%1, %2 \;xor1 CY,%1.7\;not1 CY\;sk%c0 \;br\t!!%3
- cmp\t%1, %2 \;xor1 CY,%1.7\;sk%c0 \;br\t!!%3
- cmp\t%1, %2 \;xor1 CY,%1.7\;xor1 CY,%2.7\;sk%c0 \;br\t!!%3"
+ cmp\t%1, %2 \;xor1 CY,%1.7\;not1 CY\;sk%C0 \;br\t!!%3
+ cmp\t%1, %2 \;xor1 CY,%1.7\;sk%C0 \;br\t!!%3
+ cmp\t%1, %2 \;xor1 CY,%1.7\;xor1 CY,%2.7\;sk%C0 \;br\t!!%3"
)
(define_insn "*cbranchqi4_real"
(pc)))]
"rl78_real_insns_ok ()"
"@
- cmp0\t%1 \;sk%c0 \;br\t!!%3
- cmp\t%1, %2 \;sk%c0 \;br\t!!%3
- cmp\t%1, %2 \;sk%c0 \;br\t!!%3
- cmp\t%1, %2 \;sk%c0 \;br\t!!%3"
+ cmp0\t%1 \;sk%C0 \;br\t!!%3
+ cmp\t%1, %2 \;sk%C0 \;br\t!!%3
+ cmp\t%1, %2 \;sk%C0 \;br\t!!%3
+ cmp\t%1, %2 \;sk%C0 \;br\t!!%3"
)
(define_insn "*cbranchhi4_real_signed"
(pc)))]
"rl78_real_insns_ok ()"
"@
- cmpw\t%1, %2 \;xor1 CY,%Q1.7\;not1 CY\;sk%c0 \;br\t!!%3
- cmpw\t%1, %2 \;xor1 CY,%Q1.7\;sk%c0 \;br\t!!%3
- cmpw\t%1, %2 \;xor1 CY,%Q1.7\;xor1 CY,%Q2.7\;sk%c0 \;br\t!!%3
+ cmpw\t%1, %2 \;xor1 CY,%Q1.7\;not1 CY\;sk%C0 \;br\t!!%3
+ cmpw\t%1, %2 \;xor1 CY,%Q1.7\;sk%C0 \;br\t!!%3
+ cmpw\t%1, %2 \;xor1 CY,%Q1.7\;xor1 CY,%Q2.7\;sk%C0 \;br\t!!%3
%z0\t!!%3"
)
(pc)))]
"rl78_real_insns_ok ()"
"@
- cmpw\t%1, %2 \;sk%c0 \;br\t!!%3
+ cmpw\t%1, %2 \;sk%C0 \;br\t!!%3
%z0\t!!%3"
)
(pc)
(label_ref (match_operand 3 "" ""))))]
"rl78_real_insns_ok ()"
- "cmpw\t%1, %2 \;sk%c0 \;br\t!!%3"
+ "cmpw\t%1, %2 \;sk%C0 \;br\t!!%3"
)
(define_insn "*cbranchsi4_real_lt"
]
"rl78_real_insns_ok ()"
"@
- movw ax,%H1 \;cmpw ax, %H2 \;xor1 CY,a.7\;not1 CY\; movw ax,%h1 \;sknz \;cmpw ax, %h2 \;sk%c0 \;br\t!!%3
- movw ax,%H1 \;cmpw ax, %H2 \;xor1 CY,a.7\; movw ax,%h1 \;sknz \;cmpw ax, %h2 \;sk%c0 \;br\t!!%3
- movw ax,%H1 \;cmpw ax, %H2 \;xor1 CY,a.7\;xor1 CY,%E2.7\;movw ax,%h1 \;sknz \;cmpw ax, %h2 \;sk%c0 \;br\t!!%3"
+ movw ax,%H1 \;cmpw ax, %H2 \;xor1 CY,a.7\;not1 CY\; movw ax,%h1 \;sknz \;cmpw ax, %h2 \;sk%C0 \;br\t!!%3
+ movw ax,%H1 \;cmpw ax, %H2 \;xor1 CY,a.7\; movw ax,%h1 \;sknz \;cmpw ax, %h2 \;sk%C0 \;br\t!!%3
+ movw ax,%H1 \;cmpw ax, %H2 \;xor1 CY,a.7\;xor1 CY,%E2.7\;movw ax,%h1 \;sknz \;cmpw ax, %h2 \;sk%C0 \;br\t!!%3"
)
(define_insn "*cbranchsi4_real"
(clobber (reg:HI AX_REG))
]
"rl78_real_insns_ok ()"
- "movw ax,%H1 \;cmpw ax, %H2 \;movw ax,%h1 \;sknz \;cmpw ax, %h2 \;sk%c0 \;br\t!!%3"
+ "movw ax,%H1 \;cmpw ax, %H2 \;movw ax,%h1 \;sknz \;cmpw ax, %h2 \;sk%C0 \;br\t!!%3"
)
;; Peephole to match:
(label_ref (match_operand 3 "" ""))
(pc)))]
"rl78_virt_insns_ok ()"
- "v.cmp\t%1, %2\\n\tv.b%c0\t%3"
+ "v.cmp\t%1, %2\\n\tv.b%C0\t%3"
[(set_attr "valloc" "cmp")]
)
(label_ref (match_operand 3 "" ""))
(pc)))]
"rl78_virt_insns_ok ()"
- "v.cmp\t%1, %2\\n\tv.b%c0\t%3"
+ "v.cmp\t%1, %2\\n\tv.b%C0\t%3"
[(set_attr "valloc" "cmp")]
)
(label_ref (match_operand 3 "" ""))
(pc)))]
"rl78_virt_insns_ok ()"
- "v.cmpw\t%1, %2\\n\tv.b%c0\t%3"
+ "v.cmpw\t%1, %2\\n\tv.b%C0\t%3"
[(set_attr "valloc" "cmp")]
)
(label_ref (match_operand 3 "" ""))
(pc)))]
"rl78_virt_insns_ok ()"
- "v.cmpw\t%1, %2\\n\tv.b%c0\t%3"
+ "v.cmpw\t%1, %2\\n\tv.b%C0\t%3"
[(set_attr "valloc" "cmp")]
)
(clobber (reg:HI AX_REG))
]
"rl78_virt_insns_ok ()"
- "v.cmpd\t%1, %2\\n\tv.b%c0\t%3"
+ "v.cmpd\t%1, %2\\n\tv.b%C0\t%3"
[(set_attr "valloc" "macax")]
)
S - SADDR form of a real register
v - real register corresponding to a virtual register
m - minus - negative of CONST_INT value.
- c - inverse of a conditional (NE vs EQ for example)
+ C - inverse of a conditional (NE vs EQ for example)
+ C - complement of an integer
z - collapsed conditional
s - shift count mod 8
S - shift count mod 16
if (letter == 'z')
fprintf (file, "#comparison eliminated");
else
- fprintf (file, letter == 'c' ? "nc" : "c");
+ fprintf (file, letter == 'C' ? "nc" : "c");
break;
case LEU:
if (letter == 'z')
fprintf (file, "br");
else
- fprintf (file, letter == 'c' ? "h" : "nh");
+ fprintf (file, letter == 'C' ? "h" : "nh");
break;
case GEU:
if (letter == 'z')
fprintf (file, "br");
else
- fprintf (file, letter == 'c' ? "c" : "nc");
+ fprintf (file, letter == 'C' ? "c" : "nc");
break;
case GTU:
if (letter == 'z')
fprintf (file, "#comparison eliminated");
else
- fprintf (file, letter == 'c' ? "nh" : "h");
+ fprintf (file, letter == 'C' ? "nh" : "h");
break;
case EQ:
if (letter == 'z')
fprintf (file, "br");
else
- fprintf (file, letter == 'c' ? "nz" : "z");
+ fprintf (file, letter == 'C' ? "nz" : "z");
break;
case NE:
if (letter == 'z')
fprintf (file, "#comparison eliminated");
else
- fprintf (file, letter == 'c' ? "z" : "nz");
+ fprintf (file, letter == 'C' ? "z" : "nz");
break;
/* Note: these assume appropriate adjustments were made so that
if (letter == 'z')
fprintf (file, "#comparison eliminated");
else
- fprintf (file, letter == 'c' ? "nc" : "c");
+ fprintf (file, letter == 'C' ? "nc" : "c");
break;
case LE:
if (letter == 'z')
fprintf (file, "br");
else
- fprintf (file, letter == 'c' ? "h" : "nh");
+ fprintf (file, letter == 'C' ? "h" : "nh");
break;
case GE:
if (letter == 'z')
fprintf (file, "br");
else
- fprintf (file, letter == 'c' ? "c" : "nc");
+ fprintf (file, letter == 'C' ? "c" : "nc");
break;
case GT:
if (letter == 'z')
fprintf (file, "#comparison eliminated");
else
- fprintf (file, letter == 'c' ? "nh" : "h");
+ fprintf (file, letter == 'C' ? "nh" : "h");
break;
default: