vax.h (NOTICE_UPDATE_CC): Set CC_NO_OVERFLOW in cc_status.flags for integer operations that don't update...
* vax.h (NOTICE_UPDATE_CC): Set CC_NO_OVERFLOW in cc_status.flags for integer operations that don't update C bit. From-SVN: r43094
This commit is contained in:
parent
ed459a390f
commit
544d6fa457
2 changed files with 29 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2001-06-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
|
||||||
|
|
||||||
|
* vax.h (NOTICE_UPDATE_CC): Set CC_NO_OVERFLOW in cc_status.flags
|
||||||
|
for integer operations that don't update C bit.
|
||||||
|
|
||||||
2001-06-09 Nicola Pero <nicola@brainstorm.co.uk>
|
2001-06-09 Nicola Pero <nicola@brainstorm.co.uk>
|
||||||
|
|
||||||
* gthr-posix.h (__gthread_objc_init_thread_system): If
|
* gthr-posix.h (__gthread_objc_init_thread_system): If
|
||||||
|
|
|
@ -986,7 +986,30 @@ enum reg_class { NO_REGS, ALL_REGS, LIM_REG_CLASSES };
|
||||||
CC_STATUS_INIT; \
|
CC_STATUS_INIT; \
|
||||||
else if (GET_CODE (SET_DEST (EXP)) != ZERO_EXTRACT \
|
else if (GET_CODE (SET_DEST (EXP)) != ZERO_EXTRACT \
|
||||||
&& GET_CODE (SET_DEST (EXP)) != PC) \
|
&& GET_CODE (SET_DEST (EXP)) != PC) \
|
||||||
{ cc_status.flags = 0; \
|
{ \
|
||||||
|
cc_status.flags = 0; \
|
||||||
|
/* The integer operations below don't set carry or \
|
||||||
|
set it in an incompatible way. That's ok though \
|
||||||
|
as the Z bit is all we need when doing unsigned \
|
||||||
|
comparisons on the result of these insns (since \
|
||||||
|
they're always with 0). Set CC_NO_OVERFLOW to \
|
||||||
|
generate the correct unsigned branches. */ \
|
||||||
|
switch (GET_CODE (SET_SRC (EXP))) \
|
||||||
|
{ \
|
||||||
|
case NEG: \
|
||||||
|
if (GET_MODE_CLASS (GET_MODE (EXP)) == MODE_FLOAT)\
|
||||||
|
break; \
|
||||||
|
case AND: \
|
||||||
|
case IOR: \
|
||||||
|
case XOR: \
|
||||||
|
case NOT: \
|
||||||
|
case MEM: \
|
||||||
|
case REG: \
|
||||||
|
cc_status.flags = CC_NO_OVERFLOW; \
|
||||||
|
break; \
|
||||||
|
default: \
|
||||||
|
break; \
|
||||||
|
} \
|
||||||
cc_status.value1 = SET_DEST (EXP); \
|
cc_status.value1 = SET_DEST (EXP); \
|
||||||
cc_status.value2 = SET_SRC (EXP); } } \
|
cc_status.value2 = SET_SRC (EXP); } } \
|
||||||
else if (GET_CODE (EXP) == PARALLEL \
|
else if (GET_CODE (EXP) == PARALLEL \
|
||||||
|
|
Loading…
Add table
Reference in a new issue