aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/README.txt12
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/Target/README.txt b/lib/Target/README.txt
index 8f785393fd..90afe3640c 100644
--- a/lib/Target/README.txt
+++ b/lib/Target/README.txt
@@ -1918,9 +1918,17 @@ a:
.LBB0_2:
ret
.LBB0_3:
- xorb %al, %al
- jmp foo@PLT # TAILCALL
+ jmp foo # TAILCALL
The movl+movl+btq+jb could be simplified to a cmpl+jne.
+Or, if we wanted to be really clever, we could simplify the whole thing to
+something like the following, which eliminates a branch:
+ xorl $1, %edi
+ cmpl $4, %edi
+ ja .LBB0_2
+ ret
+.LBB0_2:
+ jmp foo # TAILCALL
+
//===---------------------------------------------------------------------===//