woruyu
bbcebec3af
[DAG] Refactor X86 combineVSelectWithAllOnesOrZeros fold into a generic DAG Combine ( #145298 )
...
This PR resolves https://github.com/llvm/llvm-project/issues/144513
The modification include five pattern :
1.vselect Cond, 0, 0 → 0
2.vselect Cond, -1, 0 → bitcast Cond
3.vselect Cond, -1, x → or Cond, x
4.vselect Cond, x, 0 → and Cond, x
5.vselect Cond, 000..., X -> andn Cond, X
1-4 have been migrated to DAGCombine. 5 still in x86 code.
The reason is that you cannot use the andn instruction directly in
DAGCombine, you can only use and+xor, which will introduce optimization
order issues. For example, in the x86 backend, select Cond, 0, x →
(~Cond) & x, the backend will first check whether the cond node of
(~Cond) is a setcc node. If so, it will modify the comparison operator
of the condition.So the x86 backend cannot complete the optimization of
andn.In short, I think it is a better choice to keep the pattern of
vselect Cond, 000..., X instead of and+xor in combineDAG.
For commit, the first is code changes and x86 test(note 1), the second
is tests in other backend(node 2).
---------
Co-authored-by: Simon Pilgrim <llvm-dev@redking.me.uk >
2025-07-02 15:07:48 +01:00
..
2025-06-27 21:16:23 +09:00
2024-11-13 22:24:19 -05:00
2024-11-04 09:40:54 -05:00
2024-11-13 22:24:19 -05:00
2022-10-11 17:24:06 +00:00
2025-06-29 21:28:42 +03:00
2022-10-11 17:24:06 +00:00
2025-01-31 14:05:34 -08:00
2025-04-03 13:22:49 -04:00
2025-04-03 13:22:49 -04:00
2025-02-05 23:29:02 +07:00
2025-06-18 12:34:39 +02:00
2025-06-18 12:34:39 +02:00
2025-06-18 12:34:39 +02:00
2025-06-18 12:34:39 +02:00
2024-11-04 12:57:26 -05:00
2024-10-24 10:16:39 -04:00
2023-12-04 17:35:47 -06:00
2025-06-18 10:50:17 +02:00
2025-06-18 10:50:17 +02:00
2025-06-18 10:50:17 +02:00
2025-04-03 13:22:49 -04:00
2025-06-17 15:16:24 +02:00
2024-02-05 14:07:09 +01:00
2024-12-10 11:11:50 -05:00
2024-12-10 11:11:50 -05:00
2024-11-04 09:40:54 -05:00
2023-03-16 15:26:12 -04:00
2023-12-08 15:03:11 -05:00
2024-12-10 11:11:50 -05:00
2024-12-10 11:11:50 -05:00
2020-08-11 15:26:19 -04:00
2024-12-10 11:11:50 -05:00
2024-12-10 11:11:50 -05:00
2024-12-10 11:11:50 -05:00
2022-11-14 21:14:20 -05:00
2024-12-10 11:11:50 -05:00
2024-11-04 12:57:26 -05:00
2024-12-10 11:11:50 -05:00
2025-01-31 14:05:34 -08:00
2025-01-31 14:05:34 -08:00
2024-10-14 18:28:54 +05:30
2021-08-05 21:19:16 -04:00
2025-03-30 22:03:14 -07:00
2025-03-30 22:03:14 -07:00
2025-03-30 22:03:14 -07:00
2025-03-30 22:03:14 -07:00
2025-03-30 22:03:14 -07:00
2022-10-11 17:24:06 +00:00
2025-06-23 16:25:53 +09:00
2024-11-04 09:40:54 -05:00
2025-04-03 13:22:49 -04:00
2025-04-03 13:22:49 -04:00
2025-04-03 13:22:49 -04:00
2024-12-10 11:11:50 -05:00
2024-05-24 11:09:37 +08:00
2025-01-22 10:11:32 +00:00
2025-06-18 10:50:17 +02:00
2025-06-18 10:50:17 +02:00
2023-09-13 14:55:07 +08:00
2021-02-18 13:32:40 -05:00
2025-06-18 10:50:17 +02:00
2025-06-18 10:50:17 +02:00
2024-11-04 09:40:54 -05:00
2024-12-10 11:11:50 -05:00
2024-12-10 11:11:50 -05:00
2020-11-09 16:27:38 +00:00
2024-11-04 09:40:54 -05:00
2024-11-04 09:40:54 -05:00
2024-10-31 11:22:48 -04:00
2024-12-03 13:31:26 -05:00
2024-12-10 11:11:50 -05:00
2024-12-03 13:31:26 -05:00
2024-12-03 13:31:26 -05:00
2024-11-04 09:40:54 -05:00
2022-10-11 17:24:06 +00:00
2018-08-28 01:18:29 +00:00
2025-06-25 09:26:40 -04:00
2025-01-14 10:18:31 +02:00
2024-11-04 09:40:54 -05:00
2018-08-28 01:18:29 +00:00
2025-06-11 22:19:31 -07:00
2025-06-13 09:14:48 -04:00
2025-06-13 09:14:48 -04:00
2025-06-13 09:14:48 -04:00
2025-06-13 09:14:48 -04:00
2025-06-13 09:14:48 -04:00
2022-10-11 17:24:06 +00:00
2024-11-04 09:40:54 -05:00
2025-06-25 09:26:40 -04:00
2025-06-13 09:14:48 -04:00
2024-02-06 09:08:18 -06:00
2024-02-06 09:08:18 -06:00
2024-01-31 16:34:21 -05:00
2025-03-18 13:41:24 -04:00
2024-11-04 11:29:25 +00:00
2024-11-18 11:02:01 +05:30
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2020-08-17 20:44:33 +02:00
2024-10-21 12:19:07 -04:00
2025-06-09 14:01:38 -04:00
2025-06-25 14:47:38 +05:30
2024-11-04 09:40:54 -05:00
2025-06-03 08:44:13 +01:00
2025-01-22 10:11:32 +00:00
2025-04-03 13:22:49 -04:00
2022-12-05 12:53:50 -06:00
2024-12-22 22:03:44 -08:00
2017-08-01 22:20:41 +00:00
2021-01-18 11:44:00 +08:00
2022-10-11 17:24:06 +00:00
2018-07-04 18:54:25 +00:00
2025-01-22 10:11:32 +00:00
2024-11-15 20:36:56 +03:00
2024-11-15 20:36:56 +03:00
2024-10-21 12:19:07 -04:00
2017-08-01 22:20:41 +00:00
2024-10-31 15:49:36 -04:00
2024-10-31 15:49:36 -04:00
2024-10-29 10:57:43 +00:00
2024-08-27 09:43:52 +08:00
2023-10-09 12:31:32 +01:00
2021-05-24 19:43:40 +02:00
2022-10-11 17:24:06 +00:00
2017-08-01 22:20:41 +00:00
2024-11-12 13:34:29 -08:00
2022-10-11 17:24:06 +00:00
2025-03-06 09:28:44 -08:00
2024-11-12 14:02:01 -05:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2022-12-19 20:32:29 -05:00
2018-12-07 05:25:16 +00:00
2024-05-23 07:54:08 +02:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2024-09-23 11:45:43 +02:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2022-11-18 06:55:42 +00:00
2022-10-11 17:24:06 +00:00
2025-04-03 13:22:49 -04:00
2025-06-11 22:19:31 -07:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2020-02-06 14:41:40 +00:00
2022-10-11 17:24:06 +00:00
2025-06-29 21:28:42 +03:00
2024-09-20 11:34:18 +05:30
2024-09-20 11:34:18 +05:30
2017-08-01 22:20:41 +00:00
2025-04-28 16:03:10 -04:00
2025-04-24 11:27:22 -04:00
2025-06-18 13:50:57 -04:00
2025-06-18 13:50:57 -04:00
2024-10-16 13:22:57 +05:30
2022-10-11 17:24:06 +00:00
2019-01-14 10:55:55 +00:00
2022-10-11 17:24:06 +00:00
2025-05-22 15:42:22 +01:00
2024-11-15 20:36:56 +03:00
2025-06-18 13:26:15 +09:00
2025-03-19 10:19:57 -04:00
2024-11-15 20:36:56 +03:00
2024-11-15 20:36:56 +03:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2019-01-25 07:24:59 +00:00
2021-09-03 11:33:45 +08:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2021-09-03 11:33:45 +08:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2016-08-03 18:17:35 +00:00
2021-09-29 11:31:07 -05:00
2022-11-14 21:14:20 -05:00
2021-11-11 15:42:08 +08:00
2022-10-11 17:24:06 +00:00
2024-11-04 09:40:54 -05:00
2025-06-30 08:41:23 +08:00
2020-06-04 16:41:27 +08:00
2025-06-25 12:31:23 +08:00
2025-06-04 14:35:30 +02:00
2025-06-04 14:35:30 +02:00
2022-11-14 21:14:20 -05:00
2020-04-08 17:18:01 +01:00
2024-08-27 09:43:52 +08:00
2025-03-19 10:19:57 -04:00
2025-01-22 10:11:32 +00:00
2017-08-01 22:20:41 +00:00
2024-11-04 09:40:54 -05:00
2024-11-28 10:49:45 +01:00
2024-11-04 09:40:54 -05:00
2024-11-04 09:40:54 -05:00
2025-01-22 10:11:32 +00:00
2024-11-04 09:40:54 -05:00
2023-09-13 14:55:07 +08:00
2024-11-04 09:40:54 -05:00
2022-10-11 17:24:06 +00:00
2023-01-30 04:27:10 +03:00
2024-11-26 12:09:49 -05:00
2025-03-15 21:20:22 -04:00
2025-01-09 00:07:57 -04:00
2025-04-02 10:40:53 +02:00
2022-01-26 13:28:50 +08:00
2025-02-19 10:16:57 +01:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2024-11-04 09:40:54 -05:00
2020-05-24 14:05:28 +00:00
2024-11-04 09:40:54 -05:00
2022-10-11 17:24:06 +00:00
2025-04-03 13:22:49 -04:00
2022-10-11 17:24:06 +00:00
2024-11-04 12:57:26 -05:00
2022-10-11 17:24:06 +00:00
2017-08-01 22:20:41 +00:00
2022-11-14 21:14:20 -05:00
2022-10-11 17:24:06 +00:00
2024-08-29 14:05:43 +04:00
2024-08-27 09:43:52 +08:00
2025-01-31 14:05:34 -08:00
2021-06-30 16:54:13 -04:00
2024-11-04 09:40:54 -05:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2024-09-25 11:09:50 +04:00
2025-01-22 10:11:32 +00:00
2024-11-04 12:57:26 -05:00
2024-11-04 09:40:54 -05:00
2024-11-12 14:02:01 -05:00
2024-11-04 09:40:54 -05:00
2025-03-03 11:14:02 -05:00
2024-11-04 09:40:54 -05:00
2025-03-03 12:23:28 +00:00
2025-02-25 08:56:16 +00:00
2024-10-21 12:19:07 -04:00
2022-10-11 17:24:06 +00:00
2023-02-16 16:15:32 -05:00
2022-10-11 17:24:06 +00:00
2025-06-25 09:26:40 -04:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2025-04-17 17:52:49 +08:00
2024-11-04 09:40:54 -05:00
2024-11-04 09:40:54 -05:00
2022-10-11 17:24:06 +00:00
2024-12-29 18:58:30 -08:00
2025-04-07 15:50:21 -04:00
2022-10-11 17:24:06 +00:00
2025-05-22 15:42:22 +01:00
2025-01-03 09:19:32 -08:00
2025-01-03 09:19:32 -08:00
2025-03-03 11:14:02 -05:00
2024-11-15 20:36:56 +03:00
2024-11-12 14:02:01 -05:00
2024-12-03 13:31:26 -05:00
2024-11-12 14:02:01 -05:00
2024-11-12 14:02:01 -05:00
2024-12-03 13:31:26 -05:00
2024-11-12 14:02:01 -05:00
2024-11-04 12:57:26 -05:00
2020-04-03 11:05:14 +08:00
2025-03-18 13:41:24 -04:00
2025-03-18 13:41:24 -04:00
2025-03-18 13:41:24 -04:00
2025-03-18 13:41:24 -04:00
2025-03-18 13:41:24 -04:00
2025-03-18 13:41:24 -04:00
2025-06-09 12:34:50 -04:00
2025-05-26 10:59:35 -04:00
2025-05-26 12:47:12 -04:00
2025-06-13 09:38:54 -04:00
2025-06-09 14:01:38 -04:00
2024-10-18 09:35:42 +04:00
2024-10-24 10:05:18 -04:00
2024-10-23 09:36:28 -04:00
2024-10-23 09:36:28 -04:00
2024-10-24 10:05:18 -04:00
2024-10-24 10:05:18 -04:00
2024-10-23 09:36:28 -04:00
2024-10-23 09:36:28 -04:00
2024-10-24 10:05:18 -04:00
2024-09-25 11:09:50 +04:00
2022-01-04 09:44:23 -08:00
2023-10-09 12:31:32 +01:00
2024-11-04 09:40:54 -05:00
2025-03-14 13:11:45 +01:00
2025-03-14 13:11:45 +01:00
2020-05-24 14:05:28 +00:00
2025-05-13 11:26:46 -04:00
2024-11-11 10:53:51 -05:00
2025-05-28 14:53:46 +08:00
2025-02-01 20:40:50 +03:00
2025-04-17 17:52:49 +08:00
2024-10-04 19:13:51 +01:00
2024-10-21 12:19:07 -04:00
2025-06-09 14:01:38 -04:00
2020-09-22 11:31:44 -05:00
2022-07-21 04:23:02 -04:00
2021-01-06 05:56:09 -06:00
2024-11-04 09:40:54 -05:00
2025-03-18 13:41:24 -04:00
2024-07-22 08:51:51 +08:00
2025-01-31 14:05:34 -08:00
2022-10-11 17:24:06 +00:00
2024-11-04 09:40:54 -05:00
2025-03-06 09:28:44 -08:00
2025-02-05 23:29:02 +07:00
2025-06-29 21:28:42 +03:00
2025-04-10 11:29:14 -04:00
2024-11-04 09:40:54 -05:00
2024-11-04 09:40:54 -05:00
2025-04-07 15:50:21 -04:00
2025-04-07 15:50:21 -04:00
2025-04-07 15:50:21 -04:00
2025-03-18 13:41:24 -04:00
2025-03-18 13:41:24 -04:00
2024-12-16 10:49:08 +09:00
2025-05-26 19:40:01 -07:00
2025-06-03 08:44:13 +01:00
2024-11-04 09:40:54 -05:00
2025-07-02 11:28:37 +01:00
2022-10-11 17:24:06 +00:00
2025-01-22 13:44:20 -05:00
2025-01-22 13:44:20 -05:00
2024-12-11 17:41:19 +08:00
2024-11-04 09:40:54 -05:00
2023-11-09 09:08:41 -08:00
2022-10-11 17:24:06 +00:00
2024-11-04 09:40:54 -05:00
2024-12-15 12:42:17 -08:00
2022-10-11 17:24:06 +00:00
2017-08-01 22:20:41 +00:00
2024-11-05 17:20:41 +00:00
2022-10-11 17:24:06 +00:00
2023-09-08 15:43:21 +08:00
2022-10-11 17:24:06 +00:00
2018-01-12 13:12:49 +00:00
2024-11-12 13:34:29 -08:00
2025-06-29 21:28:42 +03:00
2024-11-04 09:40:54 -05:00
2025-04-03 13:22:49 -04:00
2025-04-03 13:22:49 -04:00
2024-12-04 07:37:01 +00:00
2025-04-03 13:22:49 -04:00
2025-04-13 17:06:38 +02:00
2024-11-04 09:40:54 -05:00
2024-11-15 20:36:56 +03:00
2025-04-03 13:22:49 -04:00
2025-02-27 11:27:07 +01:00
2024-11-04 09:40:54 -05:00
2025-05-23 10:49:37 -04:00
2025-04-13 17:06:38 +02:00
2025-02-19 10:16:57 +01:00
2024-11-15 20:36:56 +03:00
2024-11-04 09:40:54 -05:00
2025-06-29 21:28:42 +03:00
2024-12-05 09:08:18 -05:00
2025-02-15 14:13:32 -08:00
2025-06-24 04:08:34 +00:00
2025-06-25 09:26:40 -04:00
2025-06-09 14:01:38 -04:00
2022-10-11 17:24:06 +00:00
2025-07-02 15:07:48 +01:00
2023-09-08 15:43:21 +08:00
2022-11-14 21:14:20 -05:00
2022-11-14 21:14:20 -05:00
2017-08-01 22:20:41 +00:00
2018-03-05 19:27:16 +00:00
2024-12-05 17:22:44 -05:00
2025-07-02 15:07:48 +01:00
2024-07-29 11:17:04 -04:00
2024-12-30 16:08:35 +00:00
2024-10-16 10:25:09 -04:00
2016-08-03 18:17:35 +00:00
2025-04-03 13:22:49 -04:00
2022-10-11 17:24:06 +00:00
2020-11-25 04:39:03 +00:00
2023-09-08 15:43:21 +08:00
2018-08-28 01:18:29 +00:00
2024-10-31 15:49:36 -04:00
2020-05-24 14:05:28 +00:00
2020-04-16 16:22:43 +00:00
2021-01-18 11:44:00 +08:00
2025-03-21 12:55:39 -04:00
2025-04-30 13:11:17 +05:30
2025-05-23 10:49:37 -04:00
2025-05-26 11:08:13 -04:00
2022-10-11 17:24:06 +00:00
2025-03-03 15:49:37 +05:30
2022-10-11 17:24:06 +00:00
2025-04-17 17:52:49 +08:00
2025-04-13 17:06:38 +02:00
2025-06-29 21:28:42 +03:00
2025-06-29 21:28:42 +03:00
2024-11-07 14:09:45 +01:00
2025-04-17 17:52:49 +08:00
2022-10-11 17:24:06 +00:00
2025-06-09 14:01:38 -04:00
2024-11-05 14:42:15 +00:00
2024-11-28 13:55:53 -05:00
2021-05-11 05:54:07 -05:00
2024-11-04 09:40:54 -05:00
2024-11-04 09:40:54 -05:00
2024-11-04 11:37:35 -05:00
2024-11-04 11:37:35 -05:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2025-06-29 21:28:42 +03:00
2022-10-11 17:24:06 +00:00
2017-03-08 02:41:35 +00:00
2022-10-11 17:24:06 +00:00
2024-11-04 09:40:54 -05:00
2024-11-04 09:40:54 -05:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2023-02-09 18:45:20 +03:00
2024-11-04 09:40:54 -05:00
2020-05-24 14:05:28 +00:00
2025-06-29 21:28:42 +03:00
2024-11-15 20:36:56 +03:00
2024-09-04 12:55:27 -04:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2023-09-08 15:43:21 +08:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2024-11-04 09:40:54 -05:00
2024-11-04 09:40:54 -05:00
2024-03-13 10:26:31 -04:00
2024-03-13 10:26:31 -04:00
2024-03-13 10:26:31 -04:00
2024-11-04 09:40:54 -05:00
2024-11-12 14:02:01 -05:00
2024-06-18 09:58:37 +08:00
2024-11-04 12:57:26 -05:00
2023-09-19 11:18:12 +01:00
2025-02-12 18:54:39 +05:30
2025-04-03 13:22:49 -04:00
2025-04-03 13:22:49 -04:00
2025-04-03 13:22:49 -04:00
2023-09-13 14:55:07 +08:00
2022-10-11 17:24:06 +00:00
2025-04-22 17:36:41 -04:00
2025-04-03 13:22:49 -04:00
2025-04-30 10:39:09 -04:00
2024-11-11 10:53:51 -05:00
2025-02-27 08:41:58 +00:00
2024-11-11 10:53:51 -05:00
2024-11-11 10:53:51 -05:00
2025-04-04 15:56:30 -04:00
2023-02-09 18:45:20 +03:00
2024-07-29 11:17:04 -04:00
2024-11-27 12:47:10 -05:00
2024-11-27 12:47:10 -05:00
2024-09-30 11:44:49 -07:00
2023-01-22 17:19:48 +00:00
2025-06-09 14:01:38 -04:00
2022-10-11 17:24:06 +00:00
2017-08-01 22:20:41 +00:00
2017-02-07 18:57:29 +00:00
2020-09-23 16:49:40 -04:00
2022-10-11 17:24:06 +00:00
2024-11-15 20:36:56 +03:00
2024-11-15 20:36:56 +03:00
2024-11-15 20:36:56 +03:00
2024-11-15 20:36:56 +03:00
2024-11-15 20:36:56 +03:00
2024-11-15 20:36:56 +03:00
2024-11-15 20:36:56 +03:00
2024-11-15 20:36:56 +03:00
2024-11-15 20:36:56 +03:00
2024-11-15 20:36:56 +03:00
2024-11-15 20:36:56 +03:00
2024-11-15 20:36:56 +03:00
2024-11-15 20:36:56 +03:00
2024-11-15 20:36:56 +03:00
2022-10-11 17:24:06 +00:00
2023-01-04 12:52:30 -06:00
2025-01-22 10:11:32 +00:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2016-08-03 18:17:35 +00:00
2023-09-08 15:43:21 +08:00
2022-10-11 17:24:06 +00:00
2024-05-21 16:03:20 +02:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2024-11-15 20:36:56 +03:00
2025-06-02 18:21:14 +08:00
2024-11-04 09:40:54 -05:00
2023-09-08 15:43:21 +08:00
2025-01-22 10:11:32 +00:00
2025-06-09 14:01:38 -04:00
2025-02-19 10:16:57 +01:00
2025-02-19 10:16:57 +01:00
2025-06-09 14:01:38 -04:00
2025-01-21 23:55:50 +07:00
2021-11-19 15:03:01 -06:00
2022-08-12 02:56:54 -04:00
2021-11-19 15:03:01 -06:00
2021-03-10 17:27:21 +08:00
2023-03-13 21:37:56 -04:00
2022-10-11 17:24:06 +00:00
2025-05-23 10:49:37 -04:00
2025-06-05 09:41:51 -04:00
2025-06-25 12:31:23 +08:00
2025-06-29 21:28:42 +03:00
2024-11-15 20:36:56 +03:00
2024-11-15 20:36:56 +03:00
2025-06-03 11:07:58 -04:00
2025-06-03 11:07:58 -04:00
2025-06-03 11:07:58 -04:00
2025-06-11 14:26:15 -04:00
2025-06-03 11:07:58 -04:00