| Index: src/IceInstX8632.cpp
|
| diff --git a/src/IceInstX8632.cpp b/src/IceInstX8632.cpp
|
| index 79ec127ffd36e358966b8998c3bd76dfba978029..63e2cd77aa79435ee5d98824066fa79d25e74fae 100644
|
| --- a/src/IceInstX8632.cpp
|
| +++ b/src/IceInstX8632.cpp
|
| @@ -271,6 +271,11 @@ bool InstX8632Movq::isRedundantAssign() const {
|
| return false;
|
| }
|
|
|
| +InstX8632Sqrtss::InstX8632Sqrtss(Cfg *Func, Variable *Dest, Operand *Source)
|
| + : InstX8632(Func, InstX8632::Sqrtss, 1, Dest) {
|
| + addSource(Source);
|
| +}
|
| +
|
| InstX8632Ret::InstX8632Ret(Cfg *Func, Variable *Source)
|
| : InstX8632(Func, InstX8632::Ret, Source ? 1 : 0, NULL) {
|
| if (Source)
|
| @@ -919,6 +924,25 @@ void InstX8632Ret::dump(const Cfg *Func) const {
|
| dumpSources(Func);
|
| }
|
|
|
| +void InstX8632Sqrtss::emit(const Cfg *Func) const {
|
| + Ostream &Str = Func->getContext()->getStrEmit();
|
| + assert(getSrcSize() == 1);
|
| + Type Ty = getSrc(0)->getType();
|
| + assert(Ty == IceType_f32 || Ty == IceType_f64);
|
| + Str << "\tsqrt" << TypeX8632Attributes[Ty].SdSsString << "\t";
|
| + getDest()->emit(Func);
|
| + Str << ", ";
|
| + getSrc(0)->emit(Func);
|
| + Str << "\n";
|
| +}
|
| +
|
| +void InstX8632Sqrtss::dump(const Cfg *Func) const {
|
| + Ostream &Str = Func->getContext()->getStrDump();
|
| + dumpDest(Func);
|
| + Str << " = sqrt." << getDest()->getType() << " ";
|
| + dumpSources(Func);
|
| +}
|
| +
|
| void InstX8632Xadd::emit(const Cfg *Func) const {
|
| Ostream &Str = Func->getContext()->getStrEmit();
|
| if (Locked) {
|
|
|