--- ./torch/csrc/utils/byte_order.h_orig	2025-04-14 08:23:43.774379473 -0500
+++ ./torch/csrc/utils/byte_order.h	2025-04-14 08:25:51.663693994 -0500
@@ -62,6 +62,31 @@
 #error Unexpected or undefined __BYTE_ORDER__
 #endif
 
+#ifdef _AIX
+#include <stdint.h>
+
+// Macro to swap endianness for 16-bit values
+#define SWAP_ENDIAN_16(val) \
+    (((val) >> 8) & 0x00FF) | (((val) << 8) & 0xFF00)
+
+// Macro to swap endianness for 32-bit values
+#define SWAP_ENDIAN_32(val) \
+    ((((val) >> 24) & 0x000000FF) | (((val) >> 8) & 0x0000FF00) | \
+     (((val) << 8) & 0x00FF0000) | (((val) << 24) & 0xFF000000))
+
+// Macro to swap endianness for 64-bit values
+#define SWAP_ENDIAN_64(val) \
+    ((((val) >> 56) & 0x00000000000000FFULL) | (((val) >> 40) & 0x000000000000FF00ULL) | \
+     (((val) >> 24) & 0x0000000000FF0000ULL) | (((val) >> 8)  & 0x00000000FF000000ULL) | \
+     (((val) << 8)  & 0x000000FF00000000ULL) | (((val) << 24) & 0x0000FF0000000000ULL) | \
+     (((val) << 40) & 0x00FF000000000000ULL) | (((val) << 56) & 0xFF00000000000000ULL))
+
+
+#define thp_bswap16(x) SWAP_ENDIAN_16(x)
+#define thp_bswap32(x) SWAP_ENDIAN_32(x)
+#define thp_bswap64(x) SWAP_ENDIAN_64(x)
+#endif
+
 namespace torch::utils {
 
 enum THPByteOrder { THP_LITTLE_ENDIAN = 0, THP_BIG_ENDIAN = 1 };
--- ./torch/csrc/utils/byte_order.h_orig	2025-04-14 23:36:45.853687378 -0500
+++ ./torch/csrc/utils/byte_order.h	2025-04-14 23:36:57.923686371 -0500
@@ -22,7 +22,7 @@
 #define thp_bswap32(x) OSSwapInt32(x)
 #define thp_bswap64(x) OSSwapInt64(x)
 #elif defined(__GNUC__) && !defined(__MINGW32__)
-#include <byteswap.h>
+//#include <byteswap.h>
 #define thp_bswap16(x) bswap_16(x)
 #define thp_bswap32(x) bswap_32(x)
 #define thp_bswap64(x) bswap_64(x)
