void I(int i, int j) {
static const int BelowMin = -1;
static const int AboveMax = 32;
__asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "I"(BelowMin)); __asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "I"(AboveMax)); __asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "I"(16)); }
void J(int i, int j) {
static const int BelowMin = -1;
static const int AboveMax = 64;
__asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "J"(BelowMin)); __asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "J"(AboveMax)); __asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "J"(32)); }
void K(int i, int j) {
static const int BelowMin = -129;
static const int AboveMax = 128;
__asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "K"(BelowMin)); __asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "K"(AboveMax)); __asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "K"(96)); }
void L(int i, int j) {
static const int Invalid1 = 1;
static const int Invalid2 = 42;
static const int Invalid3 = 0;
static const long long Invalid4 = 0x1000000ff;
static const int Valid1 = 0xff;
static const int Valid2 = 0xffff;
static const int Valid3 = 0xffffffff;
__asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "L"(Invalid1)); __asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "L"(Invalid2)); __asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "L"(Invalid3)); __asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "L"(Invalid4)); __asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "L"(Valid1)); __asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "L"(Valid2)); __asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "L"(Valid3)); }
void M(int i, int j) {
static const int BelowMin = -1;
static const int AboveMax = 4;
__asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "M"(BelowMin)); __asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "M"(AboveMax)); __asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "M"(2)); }
void N(int i, int j) {
static const int BelowMin = -1;
static const int AboveMax = 256;
__asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "N"(BelowMin)); __asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "N"(AboveMax)); __asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "N"(128)); }
void O(int i, int j) {
static const int BelowMin = -1;
static const int AboveMax = 128;
__asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "O"(BelowMin)); __asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "O"(AboveMax)); __asm__("xorl %0,%2"
: "=r"(i)
: "0"(i), "O"(64)); }
void pr40890(void) {
struct s {
int a, b;
};
static struct s s;
__asm__ __volatile__("\n#define S_A abcd%0\n" : : "n"(&((struct s*)0)->a));
__asm__ __volatile__("\n#define S_B abcd%0\n" : : "n"(&((struct s*)0)->b));
#ifdef AMD64
__asm__ __volatile__("\n#define BEEF abcd%0\n" : : "n"((int*)0xdeadbeeeeeef));
#endif
}