https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114732
--- Comment #6 from HaoChen Gui ---
(In reply to Segher Boessenkool from comment #3)
> 1001, 0101, 0011 I mean of course.
>
> In some ways CCmode models this better than CCFPmode, but we do not actually
> model
> the SO bit (bit 3) at all in
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114732
--- Comment #5 from Segher Boessenkool ---
(Or, at-most-one-hot, that is!)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114732
--- Comment #4 from Segher Boessenkool ---
(In reply to Segher Boessenkool from comment #3)
> -- Bit 0 is all-true, bit 2 is all-false, like in the vcmp* insns.
(And bits 1 and 3 are set to zeroes for those insns. So it is all one-hot
there
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114732
--- Comment #3 from Segher Boessenkool ---
1001, 0101, 0011 I mean of course.
In some ways CCmode models this better than CCFPmode, but we do not actually
model
the SO bit (bit 3) at all in CCmode. It is a nice feature of CCmode (that we
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114732
--- Comment #2 from Segher Boessenkool ---
The fourth CR bit for BCD insns does not mean "unordered", it means "invalid or
overflow". It behaves exactly as unordered though, except that it can signal
overflow as well as one of the lt gt eq
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114732
--- Comment #1 from HaoChen Gui ---
A straightforward test case. It passes when compiling with O0 and aborts when
compiling with O2.
//test.c
#include
#define BCD_POS0 12// 0xC
#define BCD_NEG 13// 0xD
void abort (void);