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

Reply via email to