search for: f32v4

Displaying 3 results from an estimated 3 matches for "f32v4".

2005 May 11
0
[LLVMdev] avoid live range overlap of "vector" registers
...he context of the SelectionDAG framework that all of the code generators either currently use or are moving to. I updated the documentation here: http://llvm.cs.uiuc.edu/ChrisLLVM/docs/ExtendingLLVM.html#intrinsic This will allow you to do something like this: %i32v4 = type <4 x uint> %f32v4 = type <4 x float> declare %f32v4 %swizzle(%f32v4 %In, %i32v4 %Form) %G = external global %f32v4 void %test() { %A = load %f32v4* %G %B = call %f32v4 %swizzle(%f32v4 %A, %i32v4 <uint 1, uint 1, uint 1, uint 1>) ;; splat XYZW -> YYYY store %f32v4 %B, %f...
2005 May 11
2
[LLVMdev] avoid live range overlap of "vector" registers
On Tue May 10 2005, Chris Lattner wrote: >On Tue, 10 May 2005, Morten Ofstad wrote: >> Actually, I think it would be better to define the registers as a machine >> value type for packed float x4, and providing some 'extract' and 'inject' >> instructions to access individual components... There should also be a >> 'shuffle' instruction
2005 May 11
2
[LLVMdev] avoid live range overlap of "vector" registers
...k that all of the code generators > either currently use or are moving to. I updated the documentation > here: http://llvm.cs.uiuc.edu/ChrisLLVM/docs/ExtendingLLVM.html#intrinsic > > This will allow you to do something like this: > > %i32v4 = type <4 x uint> > > %f32v4 = type <4 x float> > > declare %f32v4 %swizzle(%f32v4 %In, %i32v4 %Form) > > %G = external global %f32v4 > > void %test() { > %A = load %f32v4* %G > %B = call %f32v4 %swizzle(%f32v4 %A, %i32v4 <uint 1, uint 1, > uint 1, uint 1>) ;; splat...