I'm defining some peepholes for my machine. But I've
got some troubles :
I want to use peephole to reduce :
ADD R4, 1
CMP R4, a ------------------> CMPD1 R4, a - 1.
The assembly code that cc1.exe generates has two
instruction :
ADD R4, 1
CMP R4, a
But when I define peepholes to reduce it, there's
nothing change. When I look at the rtl expression, I
see that there something beetween the instruction ADD
and CMP :
(insn 18 16 19 0x0 (set (reg/v:HI 22)
(plus:HI (reg/v:HI 22)
(const_int 1 [0x1]))) -1 (nil) -----> ADD
(nil))
(note 19 18 20 NOTE_INSN_LOOP_CONT) -----> st that I
don't understand
(code_label 20 19 22 5 "" [0 uses])
(insn 22 20 23 0x0 (set (cc0)
(compare (reg/v:HI 22)
(const_int 4 [0x4]))) -1 (nil) ------> CMP
(nil))
so does that strange expressions prevent my peepholes
from running ?
And in my case, what do I have to do ?
If you know why, please help me. Thank you very much.