IRExpr_Qop uses the Iex_Qop tag, which expr_is_guardable didn't handle.
https://bugs.kde.org/show_bug.cgi?id=430485
429864 s390x: C++ atomic test_and_set yields false-positive memcheck
diagnostics
430354 ppc stxsibx and stxsihx instructions write too much data
+430485 expr_is_guardable doesn't handle Iex_Qop
Release 3.16.1 (?? June 2020)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
return !primopMightTrap(e->Iex.Binop.op);
case Iex_Triop:
return !primopMightTrap(e->Iex.Triop.details->op);
+ case Iex_Qop:
+ return !primopMightTrap(e->Iex.Qop.details->op);
case Iex_ITE:
case Iex_CCall:
case Iex_Get: