According to IA32 SDM, rep should be used with ins, outs, movs, lods, and stos, while repz/repnz should be used with cmps and scas. Both assembler accepts both:
[EMAIL PROTECTED] rep]$ cat good.s rep insb rep outsb rep movsb rep lodsb rep stosb repz cmpsb repz scasb repnz cmpsb repnz scasb [EMAIL PROTECTED] rep]$ cat bad.s repz insb repz outsb repz movsb repz lodsb repz stosb repnz insb repnz outsb repnz movsb repnz lodsb repnz stosb rep cmpsb rep scasb [EMAIL PROTECTED] rep]$ make ./as -o good.o good.s ./as -o bad.o bad.s ./objdump -d good.o good.o: file format elf64-x86-64 Disassembly of section .text: 0000000000000000 <.text>: 0: f3 6c repz insb (%dx),%es:(%rdi) 2: f3 6e repz outsb %ds:(%rsi),(%dx) 4: f3 a4 repz movsb %ds:(%rsi),%es:(%rdi) 6: f3 ac repz lods %ds:(%rsi),%al 8: f3 aa repz stos %al,%es:(%rdi) a: f3 a6 repz cmpsb %es:(%rdi),%ds:(%rsi) c: f3 ae repz scas %es:(%rdi),%al e: f2 a6 repnz cmpsb %es:(%rdi),%ds:(%rsi) 10: f2 ae repnz scas %es:(%rdi),%al ./objdump -d bad.o bad.o: file format elf64-x86-64 Disassembly of section .text: 0000000000000000 <.text>: 0: f3 6c repz insb (%dx),%es:(%rdi) 2: f3 6e repz outsb %ds:(%rsi),(%dx) 4: f3 a4 repz movsb %ds:(%rsi),%es:(%rdi) 6: f3 ac repz lods %ds:(%rsi),%al 8: f3 aa repz stos %al,%es:(%rdi) a: f2 6c repnz insb (%dx),%es:(%rdi) c: f2 6e repnz outsb %ds:(%rsi),(%dx) e: f2 a4 repnz movsb %ds:(%rsi),%es:(%rdi) 10: f2 ac repnz lods %ds:(%rsi),%al 12: f2 aa repnz stos %al,%es:(%rdi) 14: f3 a6 repz cmpsb %es:(%rdi),%ds:(%rsi) 16: f3 ae repz scas %es:(%rdi),%al -- Summary: rep and repz are misused Product: binutils Version: unspecified Status: NEW Severity: normal Priority: P2 Component: gas AssignedTo: unassigned at sources dot redhat dot com ReportedBy: hjl at lucon dot org CC: bug-binutils at gnu dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://sourceware.org/bugzilla/show_bug.cgi?id=2428 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils