Michael Niedermayer
1c767fe664
avutil/mips/mmiutils: provide the Loongson MMI mnemonics GNU binutils lacks
...
GNU binutils spells the MMI instructions pxor, pand, por, pnor, ssrld
and sslld as xor, and, or, nor, dsrl and dsll on floating point
registers, with -march=loongson2e/2f/3a and since 2.32 with
-mloongson-mmi; the p-named entries in its opcode table are the R5900
instructions on general purpose registers. The other 43 p-named MMI
instructions FFmpeg uses are spelled the same by everyone. Loongson's
gcc toolchain accepts both spellings (ebedd26eef ), the binutils 2.24
of their cross-gcc-4.9.3-n64-loongson-rc6.1 only the GNU ones.
Since 903c5d58f0 configure probes pxor and so silently disables MMI
with every GNU binutils. Probe Loongson's spelling first and fall
back to the GNU one together with assembler macros that define the
six names, as asmdefs.h already does for parse_r. The macros assemble
to the same encodings as the GNU spelling with binutils 2.24, 2.28
and 2.42.
The GNU fallback is limited to little-endian mips64: the MMI code does
not build for O32 and its unaligned loads assume little-endian.
2026-10-20 17:27:32 +00:00
..
2026-10-04 17:38:35 +09:00
2026-09-30 17:16:00 +00:00
2024-09-09 06:20:11 -04:00
2026-10-20 17:27:32 +00:00
2026-08-12 20:05:32 +02:00
2026-09-20 11:16:50 +00:00
2026-10-19 17:14:29 +02:00
2025-08-03 13:48:47 +02:00
2026-10-08 13:28:08 +00:00
2022-02-24 12:56:49 +01:00
2021-04-27 10:43:13 -03:00
2025-09-11 18:32:23 -03:00
2022-10-17 09:56:47 +02:00
2026-09-16 06:29:59 +00:00
2026-09-16 06:29:59 +00:00
2022-10-17 09:56:47 +02:00
2026-06-16 12:41:53 +00:00
2023-01-13 21:26:13 +02:00
2026-09-08 03:00:16 +02:00
2026-04-28 12:29:37 +00:00
2023-09-12 09:20:13 +02:00
2023-09-12 09:20:13 +02:00
2026-02-13 09:21:02 +01:00
2026-10-03 22:51:39 +00:00
2026-10-03 21:50:18 +00:00
2025-07-22 01:35:01 +02:00
2026-06-23 19:15:57 +02:00
2026-09-18 14:20:59 +00:00
2026-09-18 14:20:59 +00:00
2022-02-24 12:56:49 +01:00
2026-09-07 03:57:59 +00:00
2024-03-04 17:45:00 +01:00
2026-03-21 00:34:50 +00:00
2022-02-24 12:56:49 +01:00
2026-09-24 18:08:16 +00:00
2021-09-17 13:28:09 -03:00
2022-02-24 12:56:49 +01:00
2022-10-17 09:55:19 +02:00
2022-11-11 12:24:23 +01:00
2026-09-27 18:38:11 -03:00
2026-09-27 18:38:11 -03:00
2019-04-19 17:10:20 +05:30
2026-06-23 19:15:57 +02:00
2024-12-15 14:05:15 +01:00
2024-12-15 14:05:15 +01:00
2024-12-04 16:43:06 +08:00
2026-09-16 06:29:59 +00:00
2026-09-16 06:29:59 +00:00
2026-08-10 19:52:20 +02:00
2026-03-11 14:03:36 +00:00
2022-10-17 09:56:47 +02:00
2025-11-01 12:41:23 -03:00
2025-10-24 22:24:54 +00:00
2022-02-24 12:56:49 +01:00
2026-10-14 17:45:20 +00:00
2022-10-17 09:56:47 +02:00
2024-03-31 00:08:43 +01:00
2022-10-17 09:56:47 +02:00
2026-10-12 23:55:55 +00:00
2025-08-03 13:48:47 +02:00
2026-09-12 23:52:20 +00:00
2022-10-17 09:55:19 +02:00
2026-06-16 12:41:53 +00:00
2026-02-04 15:25:18 +00:00
2026-07-11 19:32:17 -03:00
2026-07-11 19:32:17 -03:00
2019-06-01 17:43:48 +08:00
2026-06-23 19:15:57 +02:00
2026-10-19 17:14:29 +02:00
2026-10-19 17:14:29 +02:00
2026-03-06 17:28:00 +01:00
2024-04-25 14:13:47 +01:00
2026-09-28 03:46:22 +00:00
2023-11-18 19:55:42 +01:00
2024-07-11 20:26:23 +08:00
2024-06-27 20:54:42 +08:00
2026-09-12 23:52:20 +00:00
2024-03-07 08:53:30 -03:00
2024-03-27 17:07:22 +01:00
2025-11-24 16:48:31 +01:00
2022-09-03 15:41:44 +02:00
2026-09-23 16:50:45 +02:00
2026-09-23 16:50:45 +02:00
2026-06-16 12:41:53 +00:00
2025-08-03 13:48:47 +02:00
2025-11-30 22:20:13 +01:00
2024-03-15 12:51:15 +01:00
2022-08-19 22:09:36 +02:00
2022-08-19 22:09:36 +02:00
2025-11-30 22:20:13 +01:00
2025-03-28 14:33:08 -03:00
2025-03-28 14:33:08 -03:00
2026-10-08 14:21:36 +09:00
2026-09-30 14:37:26 +02:00
2026-10-12 10:39:10 -03:00
2026-10-12 10:39:10 -03:00
2022-06-21 13:27:46 +03:00
2022-08-19 22:09:36 +02:00
2022-08-19 22:09:36 +02:00
2024-03-18 01:48:46 +01:00
2021-07-22 14:34:31 +02:00
2026-10-04 13:31:36 +00:00
2026-08-15 01:08:24 +00:00
2026-06-16 12:41:53 +00:00
2025-08-03 13:48:47 +02:00
2025-07-22 19:56:34 +02:00
2021-07-22 14:34:31 +02:00
2026-03-31 11:33:00 +00:00
2026-09-28 13:44:07 +00:00
2026-08-17 14:09:14 +00:00
2026-07-14 19:45:02 +00:00
2026-10-20 02:25:09 +00:00
2026-07-14 19:45:02 +00:00
2026-09-22 21:30:07 +00:00
2026-09-22 21:30:07 +00:00
2023-12-21 16:15:23 +08:00
2026-08-12 17:21:06 +02:00
2025-09-08 15:44:47 +00:00
2025-09-03 20:21:51 -05:00
2024-11-05 10:28:03 +08:00
2025-07-18 14:44:39 +08:00
2023-01-26 23:31:37 +08:00
2023-01-26 23:31:37 +08:00
2025-07-18 14:44:39 +08:00
2025-07-18 14:44:39 +08:00
2026-08-10 20:34:48 +02:00
2025-08-03 13:48:47 +02:00
2026-08-10 20:34:48 +02:00
2025-08-03 13:48:47 +02:00
2022-07-05 15:20:08 +02:00
2026-07-25 05:30:55 +00:00
2026-01-18 03:33:04 +00:00
2024-03-07 08:53:31 -03:00
2026-05-17 03:47:23 +00:00
2026-09-17 02:47:35 +00:00
2026-10-20 14:24:12 +05:30
2026-06-23 19:15:57 +02:00
2026-10-14 17:45:20 +00:00
2025-08-03 13:48:47 +02:00
2026-02-08 21:58:06 -03:00
2025-12-29 11:59:36 -03:00
2024-03-31 00:08:43 +01:00
2026-10-12 21:18:53 +00:00
2023-12-13 18:51:32 +01:00
2026-06-25 01:20:15 +02:00
2022-10-24 20:11:20 +02:00
2022-02-24 12:56:49 +01:00
2026-09-12 23:52:20 +00:00
2026-09-08 03:00:16 +02:00
2024-08-26 10:26:59 +02:00
2025-08-03 13:48:47 +02:00
2025-11-30 22:20:13 +01:00
2024-06-01 18:05:58 +03:00
2026-10-19 12:37:52 +00:00
2025-08-03 13:48:47 +02:00
2022-02-24 12:56:49 +01:00
2024-06-18 15:24:12 +08:00
2021-07-21 16:35:27 +02:00
2021-07-29 22:02:05 +02:00
2026-09-30 14:37:26 +02:00
2026-06-16 12:41:53 +00:00
2024-04-11 11:46:18 -03:00
2023-05-29 00:45:28 +02:00
2025-08-03 13:48:47 +02:00
2023-09-07 00:42:10 +02:00
2021-07-22 14:34:31 +02:00
2025-06-13 11:36:20 +03:00
2026-09-24 18:08:16 +00:00
2026-08-26 20:13:06 +00:00
2023-09-07 00:42:10 +02:00
2021-07-22 14:34:31 +02:00
2021-12-18 11:55:47 -08:00
2026-10-20 02:25:09 +00:00
2026-10-07 18:40:30 -03:00
2024-11-16 20:58:49 +01:00
2022-10-17 09:56:47 +02:00
2024-03-31 00:08:43 +01:00
2026-10-06 13:31:37 +09:00
2025-09-02 17:05:50 +02:00
2026-03-09 10:17:26 +01:00
2022-02-24 12:56:49 +01:00
2026-10-06 13:31:37 +09:00
2022-02-24 12:56:49 +01:00
2025-02-13 11:41:51 +02:00
2023-07-05 10:25:12 -07:00
2026-09-30 14:40:12 +00:00
2025-08-03 13:48:47 +02:00
2026-06-10 02:38:35 +09:00
2026-10-08 14:21:36 +09:00
2022-02-24 12:56:49 +01:00
2025-08-03 13:48:47 +02:00
2026-09-24 18:08:16 +00:00
2025-08-03 13:48:47 +02:00
2025-09-26 16:15:46 +00:00
2021-07-22 14:34:31 +02:00
2026-09-06 00:48:24 +02:00
2026-09-06 00:48:24 +02:00
2026-09-24 18:08:16 +00:00
2024-01-16 01:34:57 +01:00
2022-02-24 12:56:49 +01:00
2021-07-22 14:34:31 +02:00
2022-02-24 12:56:49 +01:00
2021-07-22 14:34:31 +02:00
2026-09-30 14:37:26 +02:00
2025-03-03 18:10:10 -03:00
2026-08-29 14:53:45 +00:00
2026-08-14 10:41:40 +02:00
2019-07-21 11:26:36 +02:00
2025-09-26 16:15:46 +00:00
2026-06-16 12:41:53 +00:00
2025-07-31 10:58:36 +02:00
2026-06-16 12:41:53 +00:00
2024-06-28 13:16:57 -03:00
2025-07-01 22:41:56 +02:00
2025-08-03 13:48:47 +02:00
2022-02-24 12:56:49 +01:00
2025-08-15 19:54:01 +00:00
2023-09-07 00:42:10 +02:00
2019-05-02 13:50:31 -03:00
2026-07-02 07:34:22 +00:00
2025-03-02 18:43:08 +01:00
2025-03-02 18:43:08 +01:00
2026-03-13 22:48:32 +01:00
2024-01-14 14:58:57 +01:00
2026-09-30 17:16:00 +00:00
2024-06-30 09:11:44 +02:00
2024-03-25 21:30:51 +01:00
2021-07-22 14:34:31 +02:00
2022-02-24 12:56:49 +01:00
2022-10-17 09:51:47 +02:00
2019-08-02 01:19:52 +01:00
2019-08-02 01:19:52 +01:00
2020-02-13 17:10:34 +00:00
2023-09-07 00:42:10 +02:00
2025-12-13 15:14:38 +00:00
2025-08-07 07:36:33 +00:00
2025-08-03 13:48:47 +02:00
2026-06-23 19:15:57 +02:00
2026-02-20 11:59:37 +01:00
2022-10-17 09:56:47 +02:00
2022-03-17 11:11:17 +02:00
2024-03-31 00:08:42 +01:00
2026-10-19 17:14:29 +02:00
2023-01-31 14:22:54 +02:00
2023-10-30 10:30:05 -03:00
2023-08-08 09:46:11 +02:00
2025-08-03 13:48:47 +02:00
2026-09-24 11:05:27 +09:00
2026-09-24 11:05:27 +09:00
2026-10-20 11:43:04 +00:00
2026-10-20 11:43:04 +00:00
2024-10-27 09:37:46 +01:00
2026-06-23 19:15:57 +02:00
2026-06-23 19:15:57 +02:00
2022-02-24 12:56:49 +01:00
2026-01-12 17:28:41 +01:00