[PATCH] [AArch64] Fix fast-isel of cbz of i1, i8, i16

Oliver Stannard oliver.stannard at arm.com
Thu Oct 23 07:04:18 PDT 2014


This fixes a miscompilation in the AArch64 fast-isel which was triggered when a branch is based on an icmp with condition eq or ne, and type i1, i8 or i16. The cbz instruction compares the whole 32-bit register, so values with the bottom 1, 8 or 16 bits clear would cause the wrong branch to be taken.

http://reviews.llvm.org/D5935

Files:
  lib/Target/AArch64/AArch64FastISel.cpp
  test/CodeGen/AArch64/fast-isel-cbz.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5935.15325.patch
Type: text/x-patch
Size: 2013 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141023/766951f0/attachment.bin>


More information about the llvm-commits mailing list