James Y Knight
dfeb3991fb
Remove the x86_mmx IR type. ( #98505 )
...
It is now translated to `<1 x i64>`, which allows the removal of a bunch
of special casing.
This _incompatibly_ changes the ABI of any LLVM IR function with
`x86_mmx` arguments or returns: instead of passing in mmx registers,
they will now be passed via integer registers. However, the real-world
incompatibility caused by this is expected to be minimal, because Clang
never uses the x86_mmx type -- it lowers `__m64` to either `<1 x i64>`
or `double`, depending on ABI.
This change does _not_ eliminate the SelectionDAG `MVT::x86mmx` type.
That type simply no longer corresponds to an IR type, and is used only
by MMX intrinsics and inline-asm operands.
Because SelectionDAGBuilder only knows how to generate the
operands/results of intrinsics based on the IR type, it thus now
generates the intrinsics with the type MVT::v1i64, instead of
MVT::x86mmx. We need to fix this before the DAG LegalizeTypes, and thus
have the X86 backend fix them up in DAGCombine. (This may be a
short-lived hack, if all the MMX intrinsics can be removed in upcoming
changes.)
Works towards issue #98272 .
2024-07-25 09:19:22 -04:00
..
2024-03-04 16:17:01 +00:00
2024-02-06 17:01:38 +03:00
2024-06-25 12:09:58 +02:00
2023-05-17 17:03:15 +02:00
2023-07-05 09:54:28 +02:00
2024-02-06 17:01:38 +03:00
2023-11-27 12:54:11 -08:00
2024-07-25 09:19:22 -04:00
2022-12-07 20:15:43 +03:00
2022-12-07 20:15:43 +03:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2023-07-05 09:54:28 +02:00
2022-12-23 16:35:26 +01:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2023-07-05 09:54:28 +02:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2024-06-06 13:13:46 +05:30
2022-12-07 20:15:43 +03:00
2022-12-07 20:15:43 +03:00
2024-06-14 15:07:27 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2023-04-13 10:21:24 +05:30
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-07 20:15:43 +03:00
2023-07-05 09:54:28 +02:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2024-02-21 17:51:56 +05:30
2023-03-14 20:55:17 +07:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2023-07-19 10:39:59 +02:00
2023-12-08 19:43:10 +08:00
2022-12-07 20:15:43 +03:00
2022-12-07 20:15:43 +03:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2023-07-05 09:54:28 +02:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2023-07-05 09:54:28 +02:00
2023-07-05 09:54:28 +02:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-07 20:15:43 +03:00
2022-12-08 02:38:47 +03:00
2024-02-05 11:57:34 +01:00
2022-12-07 20:15:43 +03:00
2024-05-31 13:58:10 +03:00
2022-12-07 20:15:43 +03:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2023-10-31 14:02:42 +01:00
2023-10-31 14:02:42 +01:00
2022-12-05 12:10:53 -05:00
2024-07-09 09:14:33 +02:00
2022-12-07 20:15:43 +03:00
2024-01-24 15:25:29 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-07 20:15:43 +03:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2024-02-05 17:01:00 -08:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2024-05-03 14:13:59 -04:00
2024-06-14 15:07:27 +01:00
2024-06-25 12:17:20 +02:00
2024-02-01 16:08:25 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2024-06-25 12:09:58 +02:00
2024-06-25 12:09:58 +02:00
2023-09-11 14:23:29 -07:00
2022-12-07 20:15:43 +03:00
2023-07-05 09:54:28 +02:00
2024-06-25 12:17:20 +02:00
2022-12-23 16:35:26 +01:00
2023-09-11 14:23:29 -07:00
2024-06-25 12:09:58 +02:00
2023-07-05 09:54:28 +02:00
2023-07-05 09:54:28 +02:00
2024-06-25 12:09:58 +02:00
2023-07-05 09:54:28 +02:00
2022-12-23 16:35:26 +01:00
2024-05-02 11:01:24 +01:00
2024-06-25 12:17:20 +02:00
2022-12-07 20:15:43 +03:00
2022-12-20 18:36:42 +03:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2023-07-05 09:54:28 +02:00
2023-09-11 14:23:29 -07:00
2024-05-02 11:01:24 +01:00
2023-10-31 14:33:53 +00:00
2022-12-23 16:35:26 +01:00
2023-07-05 09:54:28 +02:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2024-06-14 15:07:27 +01:00
2022-12-23 16:35:26 +01:00
2023-01-20 16:08:25 +00:00
2022-12-08 11:47:16 +01:00