Add SSAShort, shift, and, or, and fix unaligned store

This commit is contained in:
Magnus Norddahl 2016-09-27 22:53:20 +02:00
commit 20f67ad40a
10 changed files with 245 additions and 35 deletions

View file

@ -35,16 +35,10 @@ SSAVec4i SSAVec4iPtr::load_unaligned() const
void SSAVec4iPtr::store(const SSAVec4i &new_value)
{
SSAScope::builder().CreateAlignedStore(new_value.v, v, 16, false);
SSAScope::builder().CreateStore(new_value.v, v, false);
}
void SSAVec4iPtr::store_unaligned(const SSAVec4i &new_value)
{
/*llvm::Value *values[2] =
{
v,
new_value.v
};
SSAScope::builder().CreateCall(SSAScope::intrinsic(llvm::Intrinsic::x86_sse2_storeu_pd), values);*/
SSAScope::builder().CreateStore(new_value.v, v, false);
SSAScope::builder().CreateAlignedStore(new_value.v, v, 4, false);
}