Jessica Paquette
910630c1e4
[AArch64][GlobalISel] Use fcsel instead of csel for G_SELECT on FPRs
...
This saves us some unnecessary copies.
If the inputs to a G_SELECT are floating point, we should use fcsel rather than
csel.
Changes here are...
- Teach selectCopy about s1-to-s1 copies across register banks.
- AArch64RegisterBankInfo about G_SELECT in general.
- Teach the instruction selector about the FCSEL instructions.
Also add two tests:
- select-select.mir to show that we get the expected FCSEL
- regbank-select.mir (unfortunately named) to show the register banks on
G_SELECT are properly preserved
And update fast-isel-select.ll to show that we do the same thing as other
instruction selectors in these cases.
llvm-svn: 359940
2019-05-03 22:37:46 +00:00
..
2019-05-03 22:37:46 +00:00
2019-03-13 17:07:09 +00:00
2018-10-25 14:56:48 +00:00
2019-01-14 10:55:55 +00:00
2018-11-19 14:26:10 +00:00
2018-10-25 14:56:48 +00:00
2018-12-14 17:44:07 +00:00
2018-09-12 12:10:22 +00:00
2019-03-13 17:07:09 +00:00
2019-03-13 17:07:09 +00:00
2018-10-13 07:43:56 +00:00
2019-01-28 19:27:33 +00:00
2019-01-15 16:18:52 +00:00
2019-03-25 21:25:28 +00:00
2019-03-25 21:25:28 +00:00
2018-11-08 19:14:20 +00:00
2019-03-25 21:25:28 +00:00
2019-04-29 17:50:10 +00:00
2019-03-25 21:25:28 +00:00
2019-03-14 23:08:19 +00:00
2019-03-25 21:25:28 +00:00
2019-03-21 11:30:17 +00:00
2019-03-25 21:25:28 +00:00
2019-02-18 23:33:24 +00:00
2019-03-25 21:25:28 +00:00
2018-11-26 21:12:39 +00:00
2019-04-29 20:58:17 +00:00
2019-03-25 21:25:28 +00:00
2018-09-22 22:17:50 +00:00
2019-01-14 10:55:55 +00:00
2019-03-19 19:01:34 +00:00
2019-03-25 21:25:28 +00:00
2019-03-19 19:01:34 +00:00
2019-03-19 19:01:34 +00:00
2019-03-25 21:25:28 +00:00
2018-10-29 20:10:42 +00:00
2018-10-29 20:10:42 +00:00
2019-05-01 22:50:11 +00:00
2018-10-29 20:10:42 +00:00
2019-03-25 21:25:28 +00:00
2019-03-18 18:45:57 +00:00
2019-03-18 18:45:57 +00:00
2019-01-14 10:55:55 +00:00
2019-03-25 21:25:28 +00:00
2019-03-25 21:25:28 +00:00
2019-01-14 10:55:55 +00:00
2018-11-20 22:26:35 +00:00
2018-10-10 14:15:52 +00:00
2019-04-02 19:57:26 +00:00
2019-03-25 21:25:28 +00:00
2018-11-29 20:03:19 +00:00
2019-03-25 21:25:28 +00:00
2019-03-25 21:25:28 +00:00
2019-04-23 09:39:58 +00:00
2019-03-02 08:03:59 +00:00
2019-03-21 22:31:37 +00:00
2019-03-25 21:25:28 +00:00
2018-12-15 14:23:18 +00:00
2019-03-25 21:25:28 +00:00
2019-02-13 17:28:47 +00:00
2019-02-13 17:28:47 +00:00
2018-09-07 20:58:57 +00:00
2019-04-26 18:00:01 +00:00
2019-01-14 10:55:55 +00:00
2018-09-18 13:18:21 +00:00
2018-10-12 16:31:20 +00:00
2019-04-25 18:42:00 +00:00
2018-08-22 11:31:39 +00:00
2018-08-22 11:31:39 +00:00
2019-04-25 18:42:00 +00:00
2019-03-21 22:31:37 +00:00
2019-03-13 17:07:09 +00:00
2019-02-18 23:33:24 +00:00
2019-02-11 18:56:39 +00:00
2018-12-19 19:01:36 +00:00
2018-10-25 14:56:48 +00:00
2019-04-03 13:42:06 +00:00
2019-04-25 16:44:40 +00:00
2019-02-08 00:23:35 +00:00
2018-10-15 21:15:58 +00:00
2018-10-25 14:56:48 +00:00
2019-05-03 21:12:36 +00:00
2019-05-03 21:12:36 +00:00
2019-03-14 22:54:29 +00:00
2018-09-28 19:05:09 +00:00
2018-10-25 14:56:48 +00:00
2019-03-25 21:25:28 +00:00
2019-03-21 22:31:37 +00:00
2019-02-21 02:11:06 +00:00
2018-10-30 03:27:15 +00:00
2018-10-25 14:56:48 +00:00
2018-08-22 11:31:39 +00:00
2019-01-30 22:41:35 +00:00
2019-03-25 21:25:28 +00:00
2019-03-25 21:25:28 +00:00
2018-10-08 14:09:15 +00:00
2018-10-08 14:04:24 +00:00
2019-03-25 21:25:28 +00:00
2019-01-21 17:46:35 +00:00
2019-03-12 10:10:29 +00:00
2019-02-05 15:26:42 +00:00
2018-10-31 09:27:01 +00:00
2018-11-28 12:00:28 +00:00
2018-12-13 10:31:32 +00:00
2019-03-25 21:25:28 +00:00
2019-02-06 15:26:35 +00:00
2018-08-30 11:55:16 +00:00
2019-03-25 21:25:28 +00:00
2019-03-25 21:25:28 +00:00
2018-09-04 22:17:03 +00:00
2019-03-22 18:42:14 +00:00
2019-03-25 21:25:28 +00:00
2019-02-12 17:28:17 +00:00
2019-02-02 01:32:48 +00:00
2019-01-14 10:55:55 +00:00
2018-10-25 15:31:51 +00:00
2018-08-22 11:31:39 +00:00
2019-03-25 21:25:28 +00:00
2018-10-21 20:13:29 +00:00
2019-03-25 21:25:28 +00:00
2019-04-23 23:03:03 +00:00
2019-03-25 21:25:28 +00:00
2019-02-01 12:26:06 +00:00
2018-10-29 20:10:42 +00:00
2019-03-25 21:25:28 +00:00
2018-10-29 20:10:42 +00:00
2018-10-29 20:10:42 +00:00
2019-03-13 11:08:57 +00:00
2018-10-31 17:18:41 +00:00
2018-12-17 17:25:53 +00:00
2019-03-25 21:25:28 +00:00
2019-05-03 22:37:46 +00:00
2019-01-14 10:55:55 +00:00
2018-08-02 01:54:12 +00:00
2019-03-04 19:12:16 +00:00
2019-03-25 21:25:28 +00:00
2019-04-11 14:19:43 +00:00
2019-03-06 20:30:06 +00:00
2019-03-06 20:30:06 +00:00
2019-05-02 14:47:59 +00:00
2019-03-18 18:45:57 +00:00
2018-12-04 00:54:52 +00:00
2018-08-09 17:26:22 +00:00
2019-03-25 21:25:28 +00:00
2018-08-30 00:49:50 +00:00
2019-04-05 14:56:21 +00:00
2019-03-08 21:22:35 +00:00
2019-03-25 21:25:28 +00:00
2019-03-19 16:24:55 +00:00
2019-03-18 18:50:58 +00:00
2018-08-30 12:52:35 +00:00
2018-08-24 19:12:13 +00:00
2019-04-26 18:45:04 +00:00
2019-03-25 21:25:28 +00:00
2018-10-24 20:19:09 +00:00
2018-10-24 20:19:09 +00:00
2018-10-24 20:19:09 +00:00
2019-03-25 21:25:28 +00:00
2018-10-13 07:43:56 +00:00
2019-01-15 00:19:46 +00:00
2018-08-30 11:55:16 +00:00
2018-12-17 10:45:43 +00:00
2019-01-08 13:30:27 +00:00
2019-03-25 21:25:28 +00:00
2019-03-18 18:45:57 +00:00
2018-10-30 20:16:39 +00:00
2019-01-14 10:55:55 +00:00
2019-03-25 21:25:28 +00:00
2018-10-25 14:56:48 +00:00
2018-10-22 19:51:31 +00:00
2018-12-03 19:11:27 +00:00
2019-02-20 18:43:45 +00:00
2018-10-08 14:12:08 +00:00
2018-12-03 19:11:27 +00:00
2018-12-03 19:11:27 +00:00
2018-12-05 21:36:04 +00:00
2019-02-05 17:21:57 +00:00
2018-11-30 21:14:58 +00:00
2018-12-01 21:24:06 +00:00
2018-09-11 23:05:34 +00:00
2019-03-25 21:25:28 +00:00
2019-03-25 21:25:28 +00:00
2018-12-04 00:31:55 +00:00
2019-03-25 21:25:28 +00:00
2018-12-01 21:24:06 +00:00
2019-03-25 21:25:28 +00:00
2019-04-16 12:13:25 +00:00
2019-03-05 20:18:47 +00:00
2019-04-16 12:13:25 +00:00
2019-01-28 19:22:29 +00:00
2019-03-22 18:42:14 +00:00
2019-03-22 18:42:14 +00:00
2019-01-15 01:53:49 +00:00
2018-09-26 13:33:09 +00:00
2019-03-22 18:42:14 +00:00
2019-03-22 18:42:14 +00:00
2019-03-25 21:25:28 +00:00
2019-04-21 15:01:19 +00:00
2018-10-30 19:17:51 +00:00
2019-03-25 21:25:28 +00:00
2018-10-25 23:36:41 +00:00
2019-02-25 13:41:59 +00:00
2019-01-16 00:40:37 +00:00
2018-12-18 08:50:02 +00:00
2019-03-25 21:25:28 +00:00
2018-10-30 23:28:27 +00:00
2019-02-08 19:50:58 +00:00
2018-09-05 17:01:56 +00:00
2018-12-19 13:37:59 +00:00
2019-04-29 18:58:52 +00:00
2019-04-15 09:30:31 +00:00
2019-03-25 21:25:28 +00:00
2019-01-14 10:55:55 +00:00
2019-01-14 10:55:55 +00:00
2019-01-10 04:59:44 +00:00
2019-03-22 18:42:14 +00:00
2019-03-25 21:25:28 +00:00
2019-03-25 21:25:28 +00:00
2019-03-17 15:45:38 +00:00
2018-10-02 00:22:51 +00:00
2019-03-25 21:25:28 +00:00
2019-01-17 20:24:14 +00:00
2019-03-25 21:25:28 +00:00
2018-11-09 11:09:40 +00:00
2019-03-25 21:25:28 +00:00
2018-10-25 14:56:48 +00:00
2019-02-07 10:35:34 +00:00
2018-10-04 17:02:53 +00:00
2018-11-30 21:04:25 +00:00
2019-01-31 08:07:30 +00:00
2019-01-22 00:21:35 +00:00
2019-01-09 21:04:36 +00:00
2019-04-19 15:31:11 +00:00
2018-12-18 10:37:42 +00:00
2018-07-30 22:21:37 +00:00
2019-03-25 21:25:28 +00:00
2019-01-28 18:34:18 +00:00
2018-12-18 08:50:02 +00:00
2019-01-23 08:18:39 +00:00
2019-01-23 08:18:39 +00:00
2019-01-23 09:10:12 +00:00
2019-02-25 13:12:33 +00:00
2019-03-25 21:25:28 +00:00
2019-03-25 21:25:28 +00:00
2019-01-28 19:22:29 +00:00
2019-01-14 10:55:55 +00:00
2019-04-02 09:46:52 +00:00
2019-04-02 09:46:52 +00:00
2018-11-09 02:48:36 +00:00
2018-10-13 07:43:56 +00:00
2019-03-19 19:01:34 +00:00
2019-05-03 19:06:57 +00:00
2019-03-29 13:40:05 +00:00
2019-01-09 19:46:15 +00:00
2019-04-10 17:27:29 +00:00
2018-08-30 11:55:16 +00:00
2018-08-22 11:31:39 +00:00
2019-03-25 21:25:28 +00:00
2019-03-17 14:57:40 +00:00
2019-03-06 19:02:01 +00:00
2019-02-24 15:31:27 +00:00
2018-08-16 18:39:39 +00:00
2018-09-03 09:15:58 +00:00
2018-09-03 09:15:58 +00:00
2018-09-03 09:15:58 +00:00
2018-09-03 09:15:58 +00:00
2019-03-17 15:45:38 +00:00
2019-03-27 19:54:41 +00:00
2018-08-30 09:32:21 +00:00
2019-03-25 18:51:57 +00:00
2019-02-03 19:38:15 +00:00
2019-03-25 21:25:28 +00:00
2019-03-06 19:02:01 +00:00
2019-03-06 19:02:01 +00:00
2018-10-30 20:46:10 +00:00
2018-11-26 21:12:39 +00:00
2019-03-25 21:25:28 +00:00
2019-02-24 19:23:36 +00:00
2019-02-24 19:23:36 +00:00
2018-09-03 09:15:58 +00:00
2019-03-11 20:22:13 +00:00
2019-03-11 20:22:13 +00:00
2019-05-01 20:18:36 +00:00
2019-03-11 20:22:13 +00:00
2019-03-13 15:18:27 +00:00
2019-03-25 21:25:28 +00:00
2019-03-11 20:22:13 +00:00
2019-03-13 17:07:09 +00:00
2019-05-03 00:10:45 +00:00
2019-03-18 18:45:57 +00:00
2018-12-05 07:09:20 +00:00
2018-11-07 21:31:14 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2018-10-27 06:13:06 +00:00
2018-10-31 09:27:01 +00:00
2018-10-31 09:27:01 +00:00
2018-10-31 09:27:01 +00:00
2018-10-31 09:27:01 +00:00
2018-10-31 09:27:01 +00:00
2018-10-31 09:27:01 +00:00
2018-10-31 09:27:01 +00:00
2018-10-31 09:27:01 +00:00
2018-10-31 09:27:01 +00:00
2019-05-01 05:27:20 +00:00
2019-03-25 21:25:28 +00:00
2018-11-09 23:33:30 +00:00
2018-11-09 23:33:30 +00:00
2018-11-09 23:33:30 +00:00
2019-05-01 05:27:20 +00:00
2018-11-22 19:24:10 +00:00