mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 16:33:28 +00:00
this is done
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32424 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a5546fbd10
commit
b4115ac8f3
@ -527,33 +527,6 @@ Add hooks to commute some CMPP operations.
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
||||
Implement some missing insert/extract element operations without going through
|
||||
the stack. Testcase here:
|
||||
CodeGen/X86/vec_ins_extract.ll
|
||||
corresponds to this C code:
|
||||
|
||||
typedef float vectorfloat __attribute__((vector_size(16)));
|
||||
void test(vectorfloat *F, float f) {
|
||||
vectorfloat G = *F + *F;
|
||||
*((float*)&G) = f;
|
||||
*F = G + G;
|
||||
}
|
||||
void test2(vectorfloat *F, float f) {
|
||||
vectorfloat G = *F + *F;
|
||||
((float*)&G)[2] = f;
|
||||
*F = G + G;
|
||||
}
|
||||
void test3(vectorfloat *F, float *f) {
|
||||
vectorfloat G = *F + *F;
|
||||
*f = ((float*)&G)[2];
|
||||
}
|
||||
void test4(vectorfloat *F, float *f) {
|
||||
vectorfloat G = *F + *F;
|
||||
*f = *((float*)&G);
|
||||
}
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
||||
Apply the same transformation that merged four float into a single 128-bit load
|
||||
to loads from constant pool.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user