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>
|
2015-05-11 Richard Henderson <rth@redhat.com>
|
||||||
|
|
||||||
* target.def (md_asm_clobbers): Replace with...
|
* 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 CCA to indicate that only the Above flag is valid.
|
||||||
Add CCC to indicate that only the Carry 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 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 CCS to indicate that only the Sign flag is valid.
|
||||||
Add CCZ to indicate that only the Zero 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 (CCA);
|
||||||
CC_MODE (CCC);
|
CC_MODE (CCC);
|
||||||
CC_MODE (CCO);
|
CC_MODE (CCO);
|
||||||
|
CC_MODE (CCP);
|
||||||
CC_MODE (CCS);
|
CC_MODE (CCS);
|
||||||
CC_MODE (CCZ);
|
CC_MODE (CCZ);
|
||||||
CC_MODE (CCFP);
|
CC_MODE (CCFP);
|
||||||
|
|
|
@ -14997,21 +14997,21 @@ put_condition_code (enum rtx_code code, machine_mode mode, bool reverse,
|
||||||
case CCAmode:
|
case CCAmode:
|
||||||
suffix = "a";
|
suffix = "a";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CCCmode:
|
case CCCmode:
|
||||||
suffix = "c";
|
suffix = "c";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CCOmode:
|
case CCOmode:
|
||||||
suffix = "o";
|
suffix = "o";
|
||||||
break;
|
break;
|
||||||
|
case CCPmode:
|
||||||
|
suffix = "p";
|
||||||
|
break;
|
||||||
case CCSmode:
|
case CCSmode:
|
||||||
suffix = "s";
|
suffix = "s";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
suffix = "e";
|
suffix = "e";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case NE:
|
case NE:
|
||||||
|
@ -15020,21 +15020,21 @@ put_condition_code (enum rtx_code code, machine_mode mode, bool reverse,
|
||||||
case CCAmode:
|
case CCAmode:
|
||||||
suffix = "na";
|
suffix = "na";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CCCmode:
|
case CCCmode:
|
||||||
suffix = "nc";
|
suffix = "nc";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CCOmode:
|
case CCOmode:
|
||||||
suffix = "no";
|
suffix = "no";
|
||||||
break;
|
break;
|
||||||
|
case CCPmode:
|
||||||
|
suffix = "np";
|
||||||
|
break;
|
||||||
case CCSmode:
|
case CCSmode:
|
||||||
suffix = "ns";
|
suffix = "ns";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
suffix = "ne";
|
suffix = "ne";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case GT:
|
case GT:
|
||||||
|
@ -19765,6 +19765,7 @@ ix86_match_ccmode (rtx insn, machine_mode req_mode)
|
||||||
case CCAmode:
|
case CCAmode:
|
||||||
case CCCmode:
|
case CCCmode:
|
||||||
case CCOmode:
|
case CCOmode:
|
||||||
|
case CCPmode:
|
||||||
case CCSmode:
|
case CCSmode:
|
||||||
if (set_mode != req_mode)
|
if (set_mode != req_mode)
|
||||||
return false;
|
return false;
|
||||||
|
@ -19913,6 +19914,7 @@ ix86_cc_modes_compatible (machine_mode m1, machine_mode m2)
|
||||||
case CCAmode:
|
case CCAmode:
|
||||||
case CCCmode:
|
case CCCmode:
|
||||||
case CCOmode:
|
case CCOmode:
|
||||||
|
case CCPmode:
|
||||||
case CCSmode:
|
case CCSmode:
|
||||||
case CCZmode:
|
case CCZmode:
|
||||||
switch (m2)
|
switch (m2)
|
||||||
|
@ -19927,6 +19929,7 @@ ix86_cc_modes_compatible (machine_mode m1, machine_mode m2)
|
||||||
case CCAmode:
|
case CCAmode:
|
||||||
case CCCmode:
|
case CCCmode:
|
||||||
case CCOmode:
|
case CCOmode:
|
||||||
|
case CCPmode:
|
||||||
case CCSmode:
|
case CCSmode:
|
||||||
case CCZmode:
|
case CCZmode:
|
||||||
return CCmode;
|
return CCmode;
|
||||||
|
|
Loading…
Reference in New Issue