Ulrich Weigand
5722c0f192
[SystemZ] Add support for z13 low-level vector builtins
...
This adds low-level builtins to allow access to all of the z13 vector
instructions. Note that instructions whose semantics can be described
by standard C (including clang extensions) do not get any builtins.
For each instructions whose semantics *cannot* (fully) be described, we
define a builtin named __builtin_s390_<insn> that directly maps to this
instruction. These are intended to be compatible with GCC.
For instructions that also set the condition code, the builtin will take
an extra argument of type "int *" at the end. The integer pointed to by
this argument will be set to the post-instruction CC value.
For many instructions, the low-level builtin is mapped to the corresponding
LLVM IR intrinsic. However, a number of instructions can be represented
in standard LLVM IR without requiring use of a target intrinsic.
Some instructions require immediate integer operands within a certain
range. Those are verified at the Sema level.
Based on a patch by Richard Sandiford.
llvm-svn: 236532
2015-05-05 19:36:42 +00:00
..
2015-02-27 21:19:58 +00:00
2014-08-14 15:14:51 +00:00
2015-01-16 22:03:52 +00:00
2014-10-16 20:00:22 +00:00
2014-10-16 20:00:22 +00:00
2015-04-16 23:25:00 +00:00
2015-02-27 19:18:17 +00:00
2014-08-27 16:22:26 +00:00
2014-10-19 23:40:06 +00:00
2015-04-16 23:25:00 +00:00
2015-03-13 18:21:46 +00:00
2015-01-22 01:33:41 +00:00
2015-03-13 18:21:46 +00:00
2014-08-14 15:14:51 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-02-27 21:19:58 +00:00
2015-02-27 19:18:17 +00:00
2015-04-29 16:40:08 +00:00
2014-10-16 16:35:14 +00:00
2015-02-27 21:19:58 +00:00
2014-06-18 08:37:28 +00:00
2014-06-18 08:37:28 +00:00
2014-06-18 08:37:28 +00:00
2014-06-18 08:37:28 +00:00
2014-06-18 08:37:28 +00:00
2014-06-18 08:37:28 +00:00
2014-11-19 23:20:35 +00:00
2014-06-18 08:37:28 +00:00
2014-06-18 08:37:28 +00:00
2014-06-18 08:37:28 +00:00
2014-06-18 08:37:28 +00:00
2014-06-18 08:37:28 +00:00
2014-06-18 08:37:28 +00:00
2014-06-18 08:37:28 +00:00
2014-06-18 08:37:28 +00:00
2014-06-18 08:37:28 +00:00
2014-10-31 02:41:37 +00:00
2014-06-18 08:37:28 +00:00
2014-07-23 12:57:31 +00:00
2015-03-13 18:21:46 +00:00
2014-09-24 06:45:23 +00:00
2015-04-22 21:14:25 +00:00
2014-08-29 01:01:32 +00:00
2015-02-27 21:19:58 +00:00
2015-02-27 21:19:58 +00:00
2014-09-24 06:45:23 +00:00
2014-10-15 22:38:23 +00:00
2014-10-04 15:26:49 +00:00
2015-01-24 17:39:36 +00:00
2015-04-21 17:27:59 +00:00
2015-02-27 21:19:58 +00:00
2014-06-30 01:34:09 +00:00
2015-02-27 21:19:58 +00:00
2015-03-13 18:21:46 +00:00
2015-03-13 18:21:46 +00:00
2014-06-18 08:37:28 +00:00
2015-03-13 20:35:45 +00:00
2014-05-24 12:52:07 +00:00
2014-05-24 12:52:07 +00:00
2014-05-24 12:52:07 +00:00
2014-05-24 12:52:07 +00:00
2014-06-17 13:11:27 +00:00
2014-06-18 08:37:28 +00:00
2014-06-18 08:37:28 +00:00
2014-05-24 12:52:07 +00:00
2015-02-04 04:23:48 +00:00
2014-05-24 12:52:07 +00:00
2014-06-18 08:37:28 +00:00
2014-06-18 08:37:28 +00:00
2015-03-14 01:10:19 +00:00
2014-05-24 12:52:07 +00:00
2014-06-18 08:37:28 +00:00
2014-06-18 08:37:28 +00:00
2015-03-13 20:35:45 +00:00
2014-11-27 21:02:49 +00:00
2015-04-16 23:25:00 +00:00
2015-04-17 22:16:24 +00:00
2014-08-29 10:17:52 +00:00
2014-07-23 12:57:31 +00:00
2014-06-18 08:37:28 +00:00
2014-07-23 12:57:31 +00:00
2014-06-18 08:37:28 +00:00
2014-05-24 12:52:07 +00:00
2014-05-24 12:52:07 +00:00
2014-08-28 09:44:07 +00:00
2014-08-26 18:43:31 +00:00
2015-03-09 21:40:42 +00:00
2015-04-16 23:25:00 +00:00
2015-03-09 21:40:42 +00:00
2014-06-08 21:28:54 +00:00
2015-02-04 14:25:47 +00:00
2014-07-09 09:24:43 +00:00
2015-02-27 21:19:58 +00:00
2015-02-27 21:19:58 +00:00
2014-07-03 09:28:12 +00:00
2015-04-28 11:24:54 +00:00
2015-02-27 21:19:58 +00:00
2015-04-16 23:25:00 +00:00
2014-12-15 19:10:08 +00:00
2014-07-05 20:10:05 +00:00
2014-09-05 13:50:34 +00:00
2014-09-05 13:50:34 +00:00
2015-05-01 21:17:25 +00:00
2015-02-27 21:19:58 +00:00
2014-12-15 19:10:08 +00:00
2015-02-12 02:06:55 +00:00
2015-02-27 21:19:58 +00:00
2015-02-27 21:19:58 +00:00
2015-01-11 09:13:56 +00:00
2015-03-04 23:40:38 +00:00
2015-02-27 21:19:58 +00:00
2014-08-29 07:27:49 +00:00
2015-02-27 21:19:58 +00:00
2014-10-02 20:53:50 +00:00
2015-03-13 18:21:46 +00:00
2014-10-02 20:53:50 +00:00
2014-09-04 22:16:33 +00:00
2014-12-11 20:14:04 +00:00
2015-02-27 21:19:58 +00:00
2015-03-12 21:54:24 +00:00
2015-04-28 13:28:01 +00:00
2015-04-30 09:24:29 +00:00
2015-02-01 21:34:11 +00:00
2015-04-28 13:28:01 +00:00
2015-04-28 13:28:01 +00:00
2015-04-28 13:28:01 +00:00
2015-04-30 09:24:29 +00:00
2015-02-27 21:19:58 +00:00
2015-03-24 20:42:20 +00:00
2015-02-27 21:19:58 +00:00
2015-02-27 21:19:58 +00:00
2014-11-14 23:55:27 +00:00
2015-03-13 18:21:46 +00:00
2015-04-16 23:25:00 +00:00
2015-02-27 21:19:58 +00:00
2015-03-13 18:21:46 +00:00
2014-12-26 18:45:57 +00:00
2014-11-19 23:20:35 +00:00
2015-02-27 21:19:58 +00:00
2014-09-26 09:37:15 +00:00
2015-04-06 13:22:01 +00:00
2015-04-16 23:25:00 +00:00
2014-07-11 23:54:29 +00:00
2015-02-26 18:19:22 +00:00
2014-12-23 01:07:10 +00:00
2014-08-13 19:18:20 +00:00
2014-11-19 23:20:35 +00:00
2014-07-02 17:41:27 +00:00
2014-12-17 17:52:30 +00:00
2014-12-17 17:52:30 +00:00
2014-08-26 12:48:06 +00:00
2014-12-02 12:58:24 +00:00
2014-08-04 23:21:26 +00:00
2015-03-04 21:48:22 +00:00
2015-03-04 21:48:22 +00:00
2015-03-25 19:41:41 +00:00
2015-04-09 23:58:16 +00:00
2015-04-09 23:58:16 +00:00
2015-03-11 15:57:19 +00:00
2014-11-14 13:10:13 +00:00
2015-04-01 12:54:25 +00:00
2015-05-05 19:36:42 +00:00
2015-05-05 19:36:42 +00:00
2015-04-01 12:54:25 +00:00
2015-03-12 15:50:36 +00:00
2015-03-19 22:39:51 +00:00
2014-05-31 00:22:12 +00:00
2015-02-27 21:19:58 +00:00
2015-02-27 21:19:58 +00:00
2015-03-13 18:21:46 +00:00
2015-04-16 23:25:00 +00:00
2015-02-27 21:19:58 +00:00
2015-02-27 21:19:58 +00:00
2015-02-27 21:19:58 +00:00
2015-04-16 23:25:00 +00:00
2015-04-23 18:07:13 +00:00
2015-01-24 17:39:36 +00:00
2015-03-13 18:21:46 +00:00
2015-02-27 21:19:58 +00:00
2014-12-02 16:04:58 +00:00
2014-11-14 22:09:15 +00:00
2015-01-12 22:39:12 +00:00
2015-02-27 21:19:58 +00:00
2015-03-13 18:21:46 +00:00
2015-03-13 18:21:46 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-03-03 17:25:55 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2014-12-15 19:10:08 +00:00
2014-08-23 01:48:50 +00:00
2014-05-25 10:34:16 +00:00
2014-11-03 14:24:45 +00:00
2014-12-15 19:10:08 +00:00
2015-01-24 17:39:36 +00:00
2015-04-30 22:29:25 +00:00
2015-04-17 06:57:25 +00:00
2015-04-30 22:29:25 +00:00
2015-02-27 21:19:58 +00:00
2015-02-27 19:18:17 +00:00
2015-02-27 21:19:58 +00:00
2015-02-27 21:19:58 +00:00
2015-04-09 15:03:23 +00:00
2014-05-20 17:12:51 +00:00
2015-03-23 17:54:16 +00:00
2014-10-21 02:19:58 +00:00
2014-11-03 06:51:41 +00:00
2015-04-29 23:32:17 +00:00
2015-02-20 18:08:57 +00:00
2014-05-20 19:20:23 +00:00
2014-07-03 19:30:33 +00:00
2015-03-13 18:21:46 +00:00
2015-02-06 20:53:40 +00:00
2015-01-22 00:24:57 +00:00
2015-04-23 01:50:45 +00:00
2015-03-16 17:54:54 +00:00
2015-01-24 17:39:36 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2015-04-29 16:40:08 +00:00
2014-10-25 01:51:19 +00:00
2014-11-01 22:50:57 +00:00
2015-03-13 18:21:46 +00:00
2015-04-01 16:45:06 +00:00
2014-12-15 19:10:08 +00:00
2015-04-10 21:02:53 +00:00
2014-11-24 21:03:34 +00:00
2014-10-31 22:00:51 +00:00
2014-10-24 15:30:16 +00:00
2014-10-24 15:30:16 +00:00
2014-10-24 15:30:16 +00:00
2014-12-17 12:02:58 +00:00
2014-12-17 12:02:58 +00:00
2014-07-09 13:43:19 +00:00
2015-03-13 18:21:46 +00:00
2015-03-30 13:47:23 +00:00
2015-01-14 12:00:12 +00:00
2014-04-24 16:05:26 +00:00
2014-04-24 16:05:26 +00:00
2015-04-14 12:49:08 +00:00
2015-02-27 21:19:58 +00:00
2014-10-24 15:30:16 +00:00
2014-09-04 15:05:39 +00:00
2014-09-04 13:28:14 +00:00
2014-09-18 18:17:18 +00:00
2014-09-22 02:21:54 +00:00
2015-04-16 23:25:00 +00:00
2015-02-03 08:49:32 +00:00
2015-02-27 21:19:58 +00:00
2015-04-15 23:04:24 +00:00
2015-04-15 23:04:24 +00:00
2014-07-06 05:26:54 +00:00
2014-08-01 20:23:29 +00:00
2015-02-27 21:19:58 +00:00
2015-02-27 21:19:58 +00:00
2015-02-27 21:19:58 +00:00
2015-04-16 23:25:00 +00:00
2015-02-14 01:35:12 +00:00
2015-03-13 18:21:46 +00:00
2015-02-27 21:19:58 +00:00
2014-05-24 12:52:07 +00:00
2015-03-13 18:21:46 +00:00
2014-08-28 00:53:20 +00:00
2014-10-29 13:43:21 +00:00
2015-03-31 17:03:16 +00:00
2015-03-13 18:21:46 +00:00
2015-02-27 21:19:58 +00:00
2015-03-13 18:21:46 +00:00
2015-02-27 21:19:58 +00:00
2014-12-15 19:10:08 +00:00
2015-02-27 19:18:17 +00:00
2014-06-30 01:34:09 +00:00
2015-02-27 21:19:58 +00:00
2015-02-27 21:19:58 +00:00
2015-02-27 21:19:58 +00:00
2015-03-26 20:16:52 +00:00
2015-03-11 19:14:15 +00:00
2015-02-27 21:19:58 +00:00
2015-02-27 21:19:58 +00:00
2014-07-21 00:56:36 +00:00
2015-03-13 18:21:46 +00:00
2015-02-27 21:19:58 +00:00
2014-08-24 03:47:06 +00:00
2015-02-27 21:19:58 +00:00
2015-03-13 18:21:46 +00:00
2015-04-16 23:25:00 +00:00
2015-02-27 21:19:58 +00:00
2014-05-28 10:53:06 +00:00
2015-03-23 20:41:42 +00:00
2014-12-15 19:10:08 +00:00
2015-01-08 22:39:28 +00:00
2015-01-08 22:39:28 +00:00
2014-07-30 22:52:16 +00:00
2014-10-09 11:58:26 +00:00
2015-01-24 17:39:36 +00:00
2015-02-27 21:19:58 +00:00
2014-12-06 01:23:08 +00:00
2014-12-15 19:10:08 +00:00
2015-01-12 22:39:12 +00:00
2015-04-22 21:39:55 +00:00
2015-01-31 06:31:23 +00:00
2015-02-27 21:19:58 +00:00
2015-03-13 18:21:46 +00:00
2014-05-19 22:14:34 +00:00
2014-06-09 09:09:19 +00:00
2015-02-27 21:19:58 +00:00
2015-02-07 01:37:09 +00:00
2015-05-05 19:35:52 +00:00
2015-05-05 19:35:52 +00:00
2015-03-30 13:49:01 +00:00
2015-02-27 21:19:58 +00:00
2015-05-05 19:35:52 +00:00
2014-12-15 19:10:08 +00:00
2014-12-15 19:10:08 +00:00
2014-12-15 19:10:08 +00:00
2014-12-15 19:10:08 +00:00
2015-02-27 21:19:58 +00:00
2014-11-15 01:41:41 +00:00
2015-02-27 21:19:58 +00:00
2015-01-12 22:39:12 +00:00
2015-02-27 21:19:58 +00:00
2015-02-27 21:19:58 +00:00
2015-02-27 21:19:58 +00:00
2015-04-16 23:25:00 +00:00
2014-10-31 22:00:51 +00:00
2015-01-24 17:39:36 +00:00
2015-01-24 17:39:36 +00:00
2015-02-27 21:19:58 +00:00
2014-12-18 06:54:53 +00:00
2015-03-13 18:21:46 +00:00
2015-03-13 18:21:46 +00:00
2015-03-13 18:21:46 +00:00
2015-02-27 21:19:58 +00:00
2014-08-14 15:14:51 +00:00
2014-06-28 23:34:11 +00:00
2014-05-11 01:31:57 +00:00
2015-01-30 23:29:19 +00:00
2014-11-24 20:14:29 +00:00
2015-04-16 23:25:00 +00:00
2015-04-16 23:25:00 +00:00
2014-09-18 21:58:54 +00:00
2015-01-28 20:24:52 +00:00
2015-02-24 09:35:58 +00:00
2015-04-16 23:25:00 +00:00
2014-07-02 10:25:45 +00:00
2014-07-14 16:27:53 +00:00
2015-02-27 21:19:58 +00:00
2015-02-27 21:19:58 +00:00
2014-05-02 09:33:30 +00:00
2014-12-15 19:10:08 +00:00