[LLVMdev] use AVX automatically if present
Pan, Wei
wei.pan at intel.com
Fri May 25 05:54:24 PDT 2012
llc built from the current trunk generates avx code as you expected. I tested that. Avx in llvm3.1 is not enabled by default.
-----Original Message-----
From: Henning Thielemann [mailto:llvm at henning-thielemann.de]
Sent: Thursday, May 24, 2012 5:57 PM
To: Pan, Wei
Cc: LLVM developer mailing list
Subject: Re: use AVX automatically if present
On Thu, 24 May 2012, Pan, Wei wrote:
> Very likely AVX is not enabled in your llc. This feature was enabled
> just recently (late of April).
I forgot to mention that I am using recent LLVM-3.1 and in principle my llc knows about avx as I have shown in the second example. But avx does not seem to be used by default.
On Thu, 24 May 2012, Henning Thielemann wrote:
> $ llc -o - -mattr avx avx.ll
> .file "avx.ll"
> .text
> .globl _fun1
> .align 16, 0x90
> .type _fun1, at function
> _fun1: # @_fun1
> .cfi_startproc
> # BB#0: # %_L1
> pushq %rbp
> .Ltmp2:
> .cfi_def_cfa_offset 16
> .Ltmp3:
> .cfi_offset %rbp, -16
> movq %rsp, %rbp
> .Ltmp4:
> .cfi_def_cfa_register %rbp
> vmovaps (%rdi), %ymm0
> vaddps (%rsi), %ymm0, %ymm0
> vmovaps %ymm0, (%rdi)
> popq %rbp
> vzeroupper
> ret
> .Ltmp5:
> .size _fun1, .Ltmp5-_fun1
> .cfi_endproc
>
>
> .section ".note.GNU-stack","", at progbits
>
>
>
>
> I guess your answer is that I did not specify a target triple. However
> why is
> SSE41 automatically detected and AVX is not?
More information about the llvm-dev
mailing list