Benjamin Maxwell
c3260c65e8
[IR] Add llvm.sincos intrinsic ( #109825 )
...
This adds the `llvm.sincos` intrinsic, legalization, and lowering.
The `llvm.sincos` intrinsic takes a floating-point value and returns
both the sine and cosine (as a struct).
```
declare { float, float } @llvm.sincos.f32(float %Val)
declare { double, double } @llvm.sincos.f64(double %Val)
declare { x86_fp80, x86_fp80 } @llvm.sincos.f80(x86_fp80 %Val)
declare { fp128, fp128 } @llvm.sincos.f128(fp128 %Val)
declare { ppc_fp128, ppc_fp128 } @llvm.sincos.ppcf128(ppc_fp128 %Val)
declare { <4 x float>, <4 x float> } @llvm.sincos.v4f32(<4 x float> %Val)
```
The lowering is built on top of the existing FSINCOS ISD node, with
additional type legalization to allow for f16, f128, and vector values.
2024-10-29 10:52:20 +00:00
..
2024-06-14 11:46:56 -07:00
2024-07-24 22:13:52 +02:00
2024-04-08 08:44:13 +01:00
2024-06-14 20:56:43 +02:00
2024-06-14 20:56:43 +02:00
2024-10-24 17:53:12 -07:00
2024-07-24 22:13:52 +02:00
2024-10-14 18:28:54 +05:30
2024-04-05 13:34:59 -07:00
2024-04-08 08:32:04 -04:00
2024-10-14 18:28:54 +05:30
2024-08-09 20:14:32 +02:00
2024-05-29 15:15:53 +01:00
2024-05-08 21:58:59 +01:00
2024-04-08 08:44:13 +01:00
2024-09-17 09:42:04 +02:00
2024-09-16 19:25:34 +02:00
2024-10-18 09:57:25 +01:00
2024-04-05 10:34:12 -04:00
2024-04-16 02:36:12 -04:00
2024-04-16 02:36:12 -04:00
2024-04-16 02:36:12 -04:00
2024-08-16 15:38:56 +02:00
2024-09-19 20:36:33 +02:00
2024-06-28 09:57:50 +02:00
2024-06-28 09:57:50 +02:00
2024-07-12 19:39:50 +02:00
2024-04-08 08:44:13 +01:00
2024-05-29 18:05:33 +02:00
2024-08-09 20:14:32 +02:00
2024-08-09 20:14:32 +02:00
2024-08-16 15:15:29 +02:00
2024-10-05 10:27:09 -07:00
2024-09-11 15:04:55 +02:00
2024-06-03 10:42:10 +05:30
2024-08-16 15:15:29 +02:00
2024-06-03 10:42:10 +05:30
2024-10-19 09:41:43 +02:00
2024-10-19 09:41:43 +02:00
2024-07-03 10:22:15 +01:00
2024-10-18 09:57:25 +01:00
2024-08-16 15:15:29 +02:00
2024-07-17 12:19:02 -07:00
2024-10-19 09:41:43 +02:00
2024-06-06 12:22:52 +02:00
2024-08-21 10:10:36 +02:00
2024-04-08 08:32:04 -04:00
2024-05-28 12:40:39 +02:00
2024-08-19 18:50:47 +01:00
2024-08-16 15:15:29 +02:00
2024-07-03 09:19:40 +02:00
2024-10-14 08:57:32 +01:00
2024-09-11 15:04:55 +02:00
2024-06-14 20:56:43 +02:00
2024-03-26 18:44:34 +01:00
2024-10-29 10:52:20 +00:00
2024-10-12 20:01:22 -04:00
2024-04-08 08:32:04 -04:00
2024-09-30 22:12:06 +02:00
2024-07-19 06:16:12 +02:00
2024-03-29 13:38:08 +01:00
2024-03-23 13:12:44 +01:00
2024-04-29 10:16:45 +01:00
2024-04-29 10:16:45 +01:00
2024-04-12 21:10:19 +02:00
2024-07-19 10:18:23 -04:00
2024-07-19 10:18:23 -04:00
2024-10-24 17:53:12 -07:00
2024-07-19 10:18:23 -04:00
2024-04-26 15:26:19 -07:00
2024-03-26 09:48:06 +00:00
2024-09-25 07:04:09 +01:00
2024-03-29 15:59:50 -04:00
2024-03-29 15:59:50 -04:00
2024-07-15 12:00:47 +01:00
2024-07-19 10:18:23 -04:00
2024-03-29 15:38:39 +08:00
2024-03-23 13:12:44 +01:00
2024-04-23 21:38:41 +05:30
2024-06-28 23:03:39 +02:00
2024-09-27 07:43:58 +01:00
2024-04-23 21:38:41 +05:30
2024-09-23 13:52:37 +01:00
2024-09-23 13:52:37 +01:00
2024-04-23 21:38:41 +05:30
2024-04-17 18:38:24 +01:00
2024-04-23 21:38:41 +05:30
2024-05-30 12:40:42 +03:00
2024-04-23 21:38:41 +05:30
2024-05-08 05:35:23 +02:00
2024-09-25 07:04:09 +01:00
2024-04-23 21:38:41 +05:30
2024-10-19 09:41:43 +02:00
2024-04-23 21:38:41 +05:30
2024-07-19 10:18:23 -04:00
2024-06-07 09:42:06 -04:00
2024-07-19 10:18:23 -04:00
2024-07-23 17:54:07 +02:00
2024-07-17 14:24:24 +02:00
2024-03-26 09:48:06 +00:00
2024-10-29 10:52:20 +00:00
2024-07-18 10:22:27 +01:00
2024-06-14 17:51:09 +02:00
2024-09-04 18:54:07 +05:30
2024-08-16 15:15:29 +02:00
2024-09-03 18:55:23 -07:00
2024-05-06 18:37:04 +01:00
2024-09-03 18:55:23 -07:00
2024-08-16 15:15:29 +02:00
2024-09-11 15:04:55 +02:00
2024-05-29 18:05:33 +02:00
2024-04-08 08:44:13 +01:00
2024-04-16 02:36:12 -04:00
2024-06-03 10:42:10 +05:30
2024-07-10 15:03:17 -07:00
2024-07-25 11:06:46 +01:00
2024-06-13 14:29:31 +01:00
2024-10-23 15:40:57 +01:00
2024-04-08 08:44:13 +01:00
2024-10-14 18:28:54 +05:30
2024-06-13 14:29:31 +01:00
2024-06-18 13:20:49 +01:00
2024-05-13 15:16:11 +01:00
2024-07-25 11:06:46 +01:00
2024-07-15 16:24:24 +01:00
2024-04-08 08:44:13 +01:00
2024-10-14 18:28:54 +05:30
2024-08-27 16:56:40 +01:00
2024-10-14 18:28:54 +05:30
2024-04-16 02:36:12 -04:00
2024-03-23 13:12:44 +01:00
2024-05-13 15:16:11 +01:00
2024-03-29 15:45:06 +01:00
2024-07-18 10:22:27 +01:00
2024-04-30 14:42:14 -07:00
2024-04-30 14:42:14 -07:00
2024-06-18 09:25:47 +01:00
2024-06-18 09:25:47 +01:00
2024-10-27 23:14:07 +01:00
2024-05-30 09:10:43 +01:00
2024-06-18 09:25:47 +01:00
2024-06-18 09:25:47 +01:00
2024-03-23 13:12:44 +01:00
2024-09-19 11:48:14 +05:30
2024-04-16 12:26:08 +01:00
2024-06-18 13:20:49 +01:00