Issue |
60208
|
Summary |
[X86] Missing rCX use/defs from LOOP instructions
|
Labels |
backend:X86
|
Assignees |
|
Reporter |
RKSimon
|
```
// Loop instructions
let isBranch = 1, isTerminator = 1, SchedRW = [WriteJump] in {
def LOOP : Ii8PCRel<0xE2, RawFrm, (outs), (ins brtarget8:$dst), "loop\t$dst", []>;
def LOOPE : Ii8PCRel<0xE1, RawFrm, (outs), (ins brtarget8:$dst), "loope\t$dst", []>;
def LOOPNE : Ii8PCRel<0xE0, RawFrm, (outs), (ins brtarget8:$dst), "loopne\t$dst", []>;
}
```
LOOP instructions decrements the CX/ECX/RCX register (depending on encoding) and LOOPE/LOOPNE also reads (but doesn't write) the ZF flag.
Also, we're missing the LOOPNZ/LOOPZ aliases for LOOPNE/LOOPE
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs