Why not

```
#elif defined(__GNUC__) && (defined(__amd64__) || defined(__x86_64__))
```

Would that work? If so, use that, then you don't break the GCC build with this patch. Then we can try and push it back upstream.