Displaying 20 results from an estimated 7000 matches similar to: "[LLVMdev] changing -mattr behavior with mmx and sse"
2008 Nov 20
0
[LLVMdev] changing -mattr behavior with mmx and sse
On Nov 19, 2008, at 11:57 PMPST, Mon Ping Wang wrote:
> Hi,
>
> When setting -mattr option on X86, I would like to treat MMX
> separately from SSE levels. This would allow a client who sets the
> attributes directly to set the SSE level independent of MMX, e.g., llc
> -march=x86 -mattr=sse41, one would get sse4.1 with mmx disabled while
> llc -march=x86 -mattr=mmx
2008 Nov 20
1
[LLVMdev] changing -mattr behavior with mmx and sse
Hi Dale,
I will not change the default. I would dislike to see any regressions
due to this type of change.
-- Mon Ping
On Nov 20, 2008, at 10:12 AM, Dale Johannesen wrote:
>
> On Nov 19, 2008, at 11:57 PMPST, Mon Ping Wang wrote:
>
>> Hi,
>>
>> When setting -mattr option on X86, I would like to treat MMX
>> separately from SSE levels. This would allow a
2008 Nov 20
0
[LLVMdev] changing -mattr behavior with mmx and sse
Might you instead consider just adding a -disable-mmx option?
Preston
On Thu, 2008-20-11 at 02:57 -0500, Mon Ping Wang wrote:
> Hi,
>
> When setting -mattr option on X86, I would like to treat MMX
> separately from SSE levels. This would allow a client who sets the
> attributes directly to set the SSE level independent of MMX, e.g., llc
> -march=x86 -mattr=sse41, one would get
2008 Nov 20
1
[LLVMdev] changing -mattr behavior with mmx and sse
On Nov 20, 2008, at 8:31 AM, Preston Gurd wrote:
> Might you instead consider just adding a -disable-mmx option?
I agree, this is a better approach. This distinguishes between
capabilities of the chip and the desire to codegen specific vectors
one way or another.
-Chris
>
> Preston
>
> On Thu, 2008-20-11 at 02:57 -0500, Mon Ping Wang wrote:
>> Hi,
>>
>>
2011 May 26
0
[LLVMdev] x86 SSE4.2 CRC32 intrinsics renamed
FYI,
The CRC64 intrinsics were renamed to CRC32 since there is no such thing. See below for details.
Chad
On May 26, 2011, at 4:13 PM, Chad Rosier wrote:
> Author: mcrosier
> Date: Thu May 26 18:13:19 2011
> New Revision: 132163
>
> URL: http://llvm.org/viewvc/llvm-project?rev=132163&view=rev
> Log:
> Renamed llvm.x86.sse42.crc32 intrinsics; crc64 doesn't exist.
2012 May 24
4
[LLVMdev] use AVX automatically if present
I wonder why AVX is not used automatically if available at the host
machine. In contrast to that, SSE41 instructions (like pmulld) are
automatically used if the host machine supports SSE41.
E.g.
$ cat avx.ll
define void @_fun1(<8 x float>*, <8 x float>*) {
_L1:
%x = load <8 x float>* %0
%y = load <8 x float>* %1
%z = fadd <8 x float> %x, %y
store
2014 Apr 10
3
[LLVMdev] Test failures with 3.4.1
On 10/04/2014 16:32, Tom Stellard wrote:
> On Wed, Apr 09, 2014 at 06:47:19PM +0200, Sylvestre Ledru wrote:
>> Hello,
>>
>> Trying the 3.4.1 branch, I get following tests failing:
>> LLVM :: CodeGen/X86/2009-06-05-VZextByteShort.ll
>> LLVM :: CodeGen/X86/fma4-intrinsics-x86_64.ll
>> LLVM :: CodeGen/X86/fp-fast.ll
>> LLVM ::
RFC: [X86] Can we begin removing AutoUpgrade support for x86 instrinsics added in early 3.X versions
2017 Sep 20
2
RFC: [X86] Can we begin removing AutoUpgrade support for x86 instrinsics added in early 3.X versions
We have quite a lot of code in AutoUpgrade.cpp to upgrade X86 intrinsics
that have been replaced with native IR over the years. Has enough time
and/or versions passed that we can begin phasing out some of this code?
As I'm writing these we don't seem to have tests for a lot of the older
upgrades. We've done better at this in the last few years.
3.1 added upgrade for:
2014 Aug 07
1
[PATCH] for cpu.c
This patch moves all
info->ia32.fxsr = info->ia32.sse = info->ia32.sse2 = info->ia32.sse3 = info->ia32.ssse3 = info->ia32.sse41 = info->ia32.sse42 = false;
expressions into a static function disable_sse(FLAC__CPUInfo *info).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: simplify_cpu_c.zip
Type: application/zip
Size: 1163 bytes
Desc:
2011 Oct 26
0
[LLVMdev] Lowering to MMX
On Oct 26, 2011, at 1:18 PM, Nicolas Capens wrote:
> On 24/10/2011 9:50 PM, Bill Wendling wrote:
>> On Oct 20, 2011, at 8:42 AM, Nicolas Capens wrote:
>>
>>> Hi all,
>>>
>>> I'm working on a graphics project which uses LLVM for dynamic code
>>> generation, and I noticed a major performance regression when upgrading
>>> from LLVM
2012 May 24
0
[LLVMdev] 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
2013 Jun 24
1
[LLVMdev] DebugInfo: Missing non-trivially-copyable parameters in SelectionDAG
This is a bit premature to be considered a code review, but given how
unfamiliar I am with SelectionDAG (& that I'm seeing somewhat more
'interesting' results compared to my change to FastISel) I wanted to
get a bit of feedback to see if I was on the right track or had missed
any obvious cases.
I've attached my patch in progress (including a modification to the
existing test
RFC: [X86] Can we begin removing AutoUpgrade support for x86 instrinsics added in early 3.X versions
2017 Sep 20
0
RFC: [X86] Can we begin removing AutoUpgrade support for x86 instrinsics added in early 3.X versions
Is there a reason why?
IE is it hard to maintain, slow, or are you just worried it will break? or
something else?
(I'm not opposed in any way, literally just want to understand the
motivation)
On Wed, Sep 20, 2017 at 12:20 PM, Craig Topper via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> We have quite a lot of code in AutoUpgrade.cpp to upgrade X86 intrinsics
> that have
2008 Aug 01
3
[LLVMdev] Using intrinsics with memory operands
Hi all,
I was wondering how to use variations of intrinsic functions that take a
memory operand.
Take for example the SSE4.1 pmovsxbd instruction. One variant takes two XMM
registers, while another has a 32-bit memory location as source operand. The
latter is quite interesting if you know you're reading from memory anyway,
and if it's not 16-byte aligned. It looks like LLVM's
RFC: [X86] Can we begin removing AutoUpgrade support for x86 instrinsics added in early 3.X versions
2017 Sep 20
2
RFC: [X86] Can we begin removing AutoUpgrade support for x86 instrinsics added in early 3.X versions
Many of the older autoupgrades have no test cases because I think when we
upgraded them we just replace all the code in the tests with native IR. So
for some of the code we don't even know if it works.
I don't really want to watch the amount of code here continue to grow
indefinitely. It's pretty poorly structured and has been up against the
MSVC cascaded if/else limit a couple times.
2016 Apr 12
2
X86 TRUNCATE cost for AVX & AVX2 mode
<Copied Cong>
Thanks Elena.
Mostly I was interested in why such a high cost 30 kept for TRUNCATE v16i32 to v16i8 in SSE41.
Looking at the code it appears like TRUNCATE v16i32 to v16i8 in SSE41 is very expensive
vs SSE2. I feel this number should be same/close to the cost mentioned for same
operation in SSE2ConversionTbl.
Below patch from Cong Hou reduce cost for same operation in SSE2
2011 Oct 26
2
[LLVMdev] Lowering to MMX
Hi Bill,
Comments inline:
On 24/10/2011 9:50 PM, Bill Wendling wrote:
> On Oct 20, 2011, at 8:42 AM, Nicolas Capens wrote:
>
>> Hi all,
>>
>> I'm working on a graphics project which uses LLVM for dynamic code
>> generation, and I noticed a major performance regression when upgrading
>> from LLVM 2.8 to 3.0-rc1 (LLVM 2.9 didn't support Win64 so I
2010 Sep 08
4
[LLVMdev] MMX vs SSE
I'm working on changing the MMX implementation to use intrinsics in
all cases, which should stop various optimization passes from creating
MMX instructions that screw up the x87 stack. Right now the MMX
instructions are split between X86InstrMMX.td and X86InstrSSE.td,
presumably on the historical grounds that some of them weren't
introduced until SSE or SSSE3, and require
2011 Jul 01
1
[LLVMdev] [cfe-dev] should -mno-sse -mno-mmx -msse -mmmx work?
On Jul 1, 2011, at 2:43 PM, Alistair Lynn wrote:
> Hi Andrew-
>
>> fatal error: error in backend: SSE2 register return with SSE2 disabled
>
> Is this for 32-bit or 64-bit x86?
64-bit x86.
> If it's the latter, the ABI demands
> that the return value in this case is in xmm0 - SSE is required.
>
Well -no-sse -mno-mmx works for EFI as it is pre-boot firmware and
2015 Apr 09
2
[LLVMdev] MMX/SSE subtarget feature in IR
Hi all,
I have a sample test case :
$ cat 1.c
int foo(int x, int y){
int z = x + y;
return z/2;
}
I tried to get its IR form with clang providing subtarget feature as mmx
for target x86_64
$ clang -O3 -mmmx 1.c -S -emit-llvm
in the IR generated i can see the subtarget-features as function attribute :
"target-features"="+mmx"
In the SelectionDAG phase in file