Fixing vsel.

This commit is contained in:
Ben Vanik
2014-09-01 13:00:00 -07:00
parent d30483bf53
commit 080a0f8026
3 changed files with 29 additions and 5 deletions

View File

@@ -1332,8 +1332,7 @@ XEEMITTER(vrsqrtefp128, VX128_3(6, 1648), VX128_3)(PPCHIRBuilder& f,
int InstrEmit_vsel_(PPCHIRBuilder& f, uint32_t vd, uint32_t va, uint32_t vb,
uint32_t vc) {
Value* c = f.LoadVR(vc);
Value* v = f.Or(f.And(f.LoadVR(va), f.Not(c)), f.And(f.LoadVR(vb), c));
Value* v = f.Select(f.LoadVR(vc), f.LoadVR(va), f.LoadVR(vb));
f.StoreVR(vd, v);
return 0;
}