[llvm-commits] patch: Lower glibc's x86 bswap_32() inline asm

Chris Lattner clattner at apple.com
Wed May 27 09:57:01 PDT 2009


On May 27, 2009, at 9:54 AM, Dan Gohman wrote:

>
> On May 26, 2009, at 6:29 PM, Sami Liedes wrote:
>
>> This patch adds code in X86TargetAsmInfo::ExpandInlineAsm() to
>> recognize glibc's bswap_32() inline asm for x86 <i486 target and  
>> lower
>> it to llvm.bswap.i32
>
> LLVM doesn't currently support x86 < i486.  If you match that pattern
> to llvm.bswap.i32, I assume LLVM will emit a 32-bit bswap.  I don't
> think LLVM should try to pattern-match inline asms specific to
> x86 < i486 if it isn't prepared to emit code for such a target.

Doesn't the existing bswap matcher have the same problem?  Why do we  
care about < i486 at all?  This patch is important, because it  
unbreaks some JIT (which doesn't support inline asm) use cases on linux.

-Chris



More information about the llvm-commits mailing list