llvm2smt icon indicating copy to clipboard operation
llvm2smt copied to clipboard

Not all instructions handle vector arguments

Open BrunoDutertre opened this issue 9 years ago • 2 comments

Need to fix Trunc, Zext, Sext, Bitcast?, Inttoptr, Ptrtoint, Select, and Getelementptr?. They are allowed to have vector operands and return vector values (all of the same length). The instructions operate element wise in such cases.

BrunoDutertre avatar Jun 25 '15 22:06 BrunoDutertre

Most have been fixed. The only remaining ones are Bitcast and Getelementptr. Bitcast is a bit of a puzzle, on the one hand they say:

"It is always a no-op cast because no bits change with this conversion."

but on the other hand they give examples like:

%Z = bitcast <2 x int> %V to i64;        ; yields i64: %V

so I don't think it can be a noop on the SMT side.

I haven't pondered GEP.

ianamason avatar Jul 12 '15 17:07 ianamason

Ooops pressed the wrong button. This is NOT closed.

ianamason avatar Jul 12 '15 17:07 ianamason