mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-10-21 01:25:20 +00:00
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27809 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0090120c2b
commit
87140126e8
@ -85,3 +85,26 @@ This is probably only reasonable for a post-pass scheduler.
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
For this function:
|
||||
|
||||
void test(vector float *A, vector float *B) {
|
||||
vector float C = (vector float)vec_cmpeq(*A, *B);
|
||||
if (!vec_any_eq(*A, *B))
|
||||
*B = (vector float){0,0,0,0};
|
||||
*A = C;
|
||||
}
|
||||
|
||||
we get the following basic block:
|
||||
|
||||
...
|
||||
lvx v2, 0, r4
|
||||
lvx v3, 0, r3
|
||||
vcmpeqfp v4, v3, v2
|
||||
vcmpeqfp. v2, v3, v2
|
||||
bne cr6, LBB1_2 ; cond_next
|
||||
|
||||
The vcmpeqfp/vcmpeqfp. instructions currently cannot be merged when the
|
||||
vcmpeqfp. result is used by a branch. This can be improved.
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user