[Linux] Fix Value::Not on release
Disable optimization on set zero to prevent clang from vectorizing the assigment to zero which would use different registers than expected.
This commit is contained in:
parent
ee7f68a85f
commit
85f407f317
|
@ -16,6 +16,12 @@
|
|||
#include "xenia/base/byte_order.h"
|
||||
#include "xenia/base/math.h"
|
||||
|
||||
#if XE_PLATFORM_LINUX
|
||||
#define OPTNONE __attribute__((optnone))
|
||||
#else
|
||||
#define OPTNONE
|
||||
#endif // XE_PLATFORM_LINUX
|
||||
|
||||
namespace xe {
|
||||
namespace cpu {
|
||||
namespace hir {
|
||||
|
@ -757,8 +763,8 @@ void Value::Xor(Value* other) {
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void Value::Not() {
|
||||
// Set optnone to prevent clang 6 from optimizing and causing issues
|
||||
void Value::Not() OPTNONE {
|
||||
switch (type) {
|
||||
case INT8_TYPE:
|
||||
constant.i8 = ~constant.i8;
|
||||
|
|
Loading…
Reference in New Issue