i386: Add CCPmode
For testing parity coming out of asm flags. From-SVN: r223026
This commit is contained in:
parent
7ca35180e9
commit
afc1c5fa0d
@ -1,3 +1,9 @@
|
||||
2015-05-11 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* config/i386/i386-modes.def (CCP): New.
|
||||
* config/i386/i386.c (put_condition_code): Handle it.
|
||||
(ix86_match_ccmode, ix86_cc_modes_compatible): Likewise.
|
||||
|
||||
2015-05-11 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* target.def (md_asm_clobbers): Replace with...
|
||||
|
@ -55,6 +55,7 @@ ADJUST_ALIGNMENT (XF, TARGET_128BIT_LONG_DOUBLE ? 16 : 4);
|
||||
Add CCA to indicate that only the Above flag is valid.
|
||||
Add CCC to indicate that only the Carry flag is valid.
|
||||
Add CCO to indicate that only the Overflow flag is valid.
|
||||
Add CCP to indicate that only the Parity flag is valid.
|
||||
Add CCS to indicate that only the Sign flag is valid.
|
||||
Add CCZ to indicate that only the Zero flag is valid. */
|
||||
|
||||
@ -64,6 +65,7 @@ CC_MODE (CCNO);
|
||||
CC_MODE (CCA);
|
||||
CC_MODE (CCC);
|
||||
CC_MODE (CCO);
|
||||
CC_MODE (CCP);
|
||||
CC_MODE (CCS);
|
||||
CC_MODE (CCZ);
|
||||
CC_MODE (CCFP);
|
||||
|
@ -14997,21 +14997,21 @@ put_condition_code (enum rtx_code code, machine_mode mode, bool reverse,
|
||||
case CCAmode:
|
||||
suffix = "a";
|
||||
break;
|
||||
|
||||
case CCCmode:
|
||||
suffix = "c";
|
||||
break;
|
||||
|
||||
case CCOmode:
|
||||
suffix = "o";
|
||||
break;
|
||||
|
||||
case CCPmode:
|
||||
suffix = "p";
|
||||
break;
|
||||
case CCSmode:
|
||||
suffix = "s";
|
||||
break;
|
||||
|
||||
default:
|
||||
suffix = "e";
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case NE:
|
||||
@ -15020,21 +15020,21 @@ put_condition_code (enum rtx_code code, machine_mode mode, bool reverse,
|
||||
case CCAmode:
|
||||
suffix = "na";
|
||||
break;
|
||||
|
||||
case CCCmode:
|
||||
suffix = "nc";
|
||||
break;
|
||||
|
||||
case CCOmode:
|
||||
suffix = "no";
|
||||
break;
|
||||
|
||||
case CCPmode:
|
||||
suffix = "np";
|
||||
break;
|
||||
case CCSmode:
|
||||
suffix = "ns";
|
||||
break;
|
||||
|
||||
default:
|
||||
suffix = "ne";
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case GT:
|
||||
@ -19765,6 +19765,7 @@ ix86_match_ccmode (rtx insn, machine_mode req_mode)
|
||||
case CCAmode:
|
||||
case CCCmode:
|
||||
case CCOmode:
|
||||
case CCPmode:
|
||||
case CCSmode:
|
||||
if (set_mode != req_mode)
|
||||
return false;
|
||||
@ -19913,6 +19914,7 @@ ix86_cc_modes_compatible (machine_mode m1, machine_mode m2)
|
||||
case CCAmode:
|
||||
case CCCmode:
|
||||
case CCOmode:
|
||||
case CCPmode:
|
||||
case CCSmode:
|
||||
case CCZmode:
|
||||
switch (m2)
|
||||
@ -19927,6 +19929,7 @@ ix86_cc_modes_compatible (machine_mode m1, machine_mode m2)
|
||||
case CCAmode:
|
||||
case CCCmode:
|
||||
case CCOmode:
|
||||
case CCPmode:
|
||||
case CCSmode:
|
||||
case CCZmode:
|
||||
return CCmode;
|
||||
|
Loading…
Reference in New Issue
Block a user