Mikhail Maltsev
304b2da27b
[ARM] Do not convert some vmov instructions
...
Summary:
Patch https://reviews.llvm.org/D44467 implements conversion of invalid
vmov instructions into valid ones. It turned out that some valid
instructions also get converted, for example
vmov.i64 d2, #0xff00ff00ff00ff00 ->
vmov.i16 d2, #0xff00
Such behavior is incorrect because according to the ARM ARM section
F2.7.7 Modified immediate constants in T32 and A32 Advanced SIMD
instructions, "On assembly, the data type must be matched in the table
if possible."
This patch fixes the isNEONmovReplicate check so that the above
instruction is not modified any more.
Reviewers: rengolin, olista01
Reviewed By: rengolin
Subscribers: javed.absar, kristof.beyls, rogfer01, llvm-commits
Differential Revision: https://reviews.llvm.org/D44678
llvm-svn: 329158
2018-04-04 08:54:19 +00:00
..
2017-04-03 21:50:04 +00:00
2016-07-27 14:37:18 +00:00
2017-12-04 17:18:51 +00:00
2016-08-25 20:41:30 +00:00
2016-01-15 10:23:46 +00:00
2016-04-01 09:40:47 +00:00
2014-11-03 17:38:00 +00:00
2017-10-03 10:26:11 +00:00
2016-07-11 22:29:37 +00:00
2015-11-17 10:00:43 +00:00
2015-01-11 04:39:18 +00:00
2015-06-04 15:33:30 +00:00
2014-12-20 20:25:36 +00:00
2017-08-23 22:07:10 +00:00
2018-01-05 13:28:10 +00:00
2018-03-23 09:10:03 +00:00
2017-06-07 08:54:47 +00:00
2017-02-28 10:04:36 +00:00
2015-10-29 13:56:19 +00:00
2017-08-21 08:43:06 +00:00
2017-10-10 12:35:09 +00:00
2017-08-21 08:43:06 +00:00
2017-08-22 11:08:21 +00:00
2017-04-18 12:52:35 +00:00
2017-10-04 09:18:07 +00:00
2017-10-03 10:26:11 +00:00
2017-09-19 21:23:19 +00:00
2017-10-10 12:31:53 +00:00
2017-09-11 11:11:17 +00:00
2017-06-05 09:37:12 +00:00
2017-06-01 13:50:57 +00:00
2015-04-28 01:37:11 +00:00
2017-12-28 17:00:37 +00:00
2016-11-02 21:30:35 +00:00
2014-09-20 00:25:06 +00:00
2017-03-17 09:37:10 +00:00
2018-03-09 03:13:37 +00:00
2014-08-05 15:29:41 +00:00
2017-10-24 08:55:36 +00:00
2015-02-04 16:23:24 +00:00
2018-02-06 09:24:47 +00:00
2018-02-06 09:24:47 +00:00
2017-10-10 12:35:09 +00:00
2017-10-17 16:54:56 +00:00
2017-12-21 11:17:49 +00:00
2017-12-21 11:17:49 +00:00
2018-02-01 12:06:57 +00:00
2017-08-21 09:58:37 +00:00
2016-01-26 00:27:59 +00:00
2014-07-27 19:07:09 +00:00
2017-10-03 10:26:11 +00:00
2017-10-03 10:26:11 +00:00
2014-07-27 19:07:09 +00:00
2015-09-30 17:25:52 +00:00
2014-07-27 19:07:09 +00:00
2014-08-17 19:20:38 +00:00
2016-07-26 14:24:43 +00:00
2015-05-27 18:15:37 +00:00
2015-05-27 18:15:37 +00:00
2015-05-27 18:15:37 +00:00
2015-05-27 18:15:37 +00:00
2015-03-17 11:55:28 +00:00
2015-11-16 14:05:32 +00:00
2017-11-29 10:12:15 +00:00
2017-11-29 10:12:15 +00:00
2015-12-01 10:33:56 +00:00
2014-11-27 12:13:56 +00:00
2014-11-27 12:13:56 +00:00
2016-04-11 13:06:28 +00:00
2015-10-02 18:25:25 +00:00
2014-11-27 12:13:56 +00:00
2015-01-05 13:26:37 +00:00
2015-01-05 13:26:37 +00:00
2016-01-25 11:26:11 +00:00
2015-01-30 18:42:10 +00:00
2017-11-21 16:20:25 +00:00
2015-06-29 09:32:29 +00:00
2017-01-09 21:38:14 +00:00
2017-01-09 21:38:14 +00:00
2016-11-02 16:22:51 +00:00
2015-07-02 16:53:23 +00:00
2014-09-18 04:28:29 +00:00
2015-02-04 03:10:03 +00:00
2018-01-16 11:17:57 +00:00
2018-03-29 17:16:41 +00:00
2017-09-13 22:09:01 +00:00
2018-01-16 11:17:57 +00:00
2018-01-16 11:17:57 +00:00
2017-09-11 23:05:20 +00:00
2015-12-17 16:22:06 +00:00
2015-12-17 16:22:06 +00:00
2015-12-17 16:22:06 +00:00
2016-04-19 23:51:52 +00:00
2016-04-19 23:51:52 +00:00
2015-04-16 12:59:30 +00:00
2015-12-17 16:22:06 +00:00
2016-04-19 23:51:52 +00:00
2015-11-03 20:02:22 +00:00
2015-11-03 20:02:22 +00:00
2015-11-03 20:02:22 +00:00
2016-04-19 23:51:52 +00:00
2015-04-29 13:55:07 +00:00
2015-12-17 16:22:06 +00:00
2016-04-19 23:51:52 +00:00
2015-11-03 20:02:22 +00:00
2016-11-22 04:32:54 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2015-06-18 13:39:07 +00:00
2015-06-23 11:31:32 +00:00
2015-06-18 13:39:07 +00:00
2015-04-15 15:59:37 +00:00
2016-05-18 00:27:17 +00:00
2015-04-29 13:55:07 +00:00
2017-01-19 20:04:11 +00:00
2015-11-16 16:25:47 +00:00
2017-03-10 13:08:20 +00:00
2016-12-14 10:43:58 +00:00
2017-10-03 10:26:11 +00:00
2017-10-03 10:26:11 +00:00
2017-10-03 10:26:11 +00:00
2015-12-16 12:37:39 +00:00
2016-01-25 10:26:26 +00:00
2016-01-03 17:22:03 +00:00
2017-09-01 10:47:25 +00:00
2016-07-26 14:19:47 +00:00
2017-02-08 18:17:21 +00:00
2017-02-28 10:34:48 +00:00
2016-08-01 15:36:10 +00:00
2016-01-26 00:27:59 +00:00
2018-01-04 13:56:40 +00:00
2017-12-04 13:42:22 +00:00
2017-10-04 09:18:07 +00:00
2017-10-04 09:18:07 +00:00
2017-10-03 10:26:11 +00:00
2017-07-05 12:39:13 +00:00
2017-12-04 13:42:22 +00:00
2017-10-03 10:26:11 +00:00
2017-01-22 20:28:56 +00:00
2017-01-22 20:28:56 +00:00
2017-05-22 09:42:01 +00:00
2016-05-12 21:22:37 +00:00
2014-12-04 19:34:59 +00:00
2017-10-03 10:26:11 +00:00
2017-05-22 09:42:01 +00:00
2017-05-22 09:42:01 +00:00
2017-10-03 10:26:11 +00:00
2017-12-04 13:42:22 +00:00
2017-12-04 13:42:22 +00:00
2017-12-04 13:42:22 +00:00
2017-12-04 13:42:22 +00:00
2017-10-10 12:38:22 +00:00
2016-01-15 10:23:46 +00:00
2016-01-15 10:23:46 +00:00
2017-10-10 12:31:53 +00:00
2017-03-08 12:49:18 +00:00
2016-05-12 21:22:37 +00:00
2017-05-22 09:42:07 +00:00
2016-05-12 21:22:37 +00:00
2016-02-23 20:20:23 +00:00
2014-07-04 10:58:05 +00:00
2016-08-25 20:41:30 +00:00
2016-09-19 09:21:45 +00:00
2017-04-03 21:50:04 +00:00
2016-05-10 21:48:48 +00:00
2017-08-18 19:13:56 +00:00
2016-04-01 09:40:47 +00:00
2016-04-01 09:40:47 +00:00
2014-11-28 15:01:06 +00:00
2017-04-20 10:18:13 +00:00
2017-10-10 12:31:53 +00:00
2017-10-10 12:31:53 +00:00
2017-10-03 10:26:11 +00:00
2017-10-03 10:26:11 +00:00
2014-09-25 11:31:24 +00:00
2017-10-03 10:26:11 +00:00
2014-10-21 11:49:14 +00:00
2015-12-07 10:54:36 +00:00
2017-10-03 10:26:11 +00:00
2017-10-03 10:26:11 +00:00
2016-07-19 19:49:13 +00:00
2016-01-26 00:27:59 +00:00
2015-01-30 19:35:18 +00:00
2015-01-30 17:58:25 +00:00
2016-08-02 19:17:54 +00:00
2017-04-05 10:16:14 +00:00
2016-06-03 14:03:27 +00:00
2017-10-10 12:31:53 +00:00
2017-08-08 17:16:46 +00:00
2017-10-03 10:26:11 +00:00
2016-07-27 12:15:26 +00:00
2016-07-19 14:15:33 +00:00
2017-06-05 09:37:12 +00:00
2017-10-04 09:18:07 +00:00
2017-06-05 09:37:12 +00:00
2016-09-05 08:29:15 +00:00
2016-01-15 10:26:17 +00:00
2015-04-06 18:44:42 +00:00
2016-06-07 10:34:33 +00:00
2016-04-08 18:15:37 +00:00
2015-04-06 18:44:42 +00:00
2015-11-17 10:00:43 +00:00
2017-06-22 15:32:41 +00:00
2016-07-11 22:29:37 +00:00
2017-10-03 10:26:11 +00:00
2017-10-03 10:26:11 +00:00
2016-04-08 18:15:37 +00:00
2017-12-04 13:42:22 +00:00
2017-10-03 10:26:11 +00:00
2014-10-20 15:37:35 +00:00
2016-04-19 23:51:52 +00:00
2014-09-29 10:57:29 +00:00
2014-09-01 11:25:07 +00:00
2015-07-13 15:31:48 +00:00
2017-10-10 12:31:53 +00:00
2015-07-13 15:31:48 +00:00
2015-06-22 19:35:57 +00:00
2015-06-22 19:35:57 +00:00
2017-09-01 10:47:25 +00:00
2017-10-10 12:31:53 +00:00
2017-06-23 22:52:36 +00:00
2016-08-24 21:21:29 +00:00
2016-08-24 21:21:29 +00:00
2017-11-21 15:16:50 +00:00
2015-01-14 10:48:16 +00:00
2017-12-04 13:42:22 +00:00
2016-01-15 10:25:14 +00:00
2017-10-03 10:26:11 +00:00
2015-10-28 13:58:36 +00:00
2014-06-30 09:37:24 +00:00
2014-09-01 11:25:07 +00:00
2017-10-03 10:26:11 +00:00
2018-03-06 15:21:19 +00:00
2016-04-26 18:29:16 +00:00
2016-01-12 13:38:15 +00:00
2018-02-09 13:34:39 +00:00
2017-10-04 09:18:07 +00:00
2017-10-04 09:18:07 +00:00
2017-10-04 09:18:07 +00:00
2017-02-28 10:04:36 +00:00
2015-11-02 18:21:07 +00:00
2017-10-24 14:20:13 +00:00
2018-02-13 11:46:38 +00:00
2017-11-21 16:20:25 +00:00
2017-11-21 16:20:25 +00:00
2014-12-01 08:33:28 +00:00
2017-07-16 07:48:48 +00:00
2017-11-21 15:06:01 +00:00
2018-03-05 13:27:26 +00:00
2018-03-16 12:46:49 +00:00
2018-04-04 08:54:19 +00:00
2017-10-10 12:31:53 +00:00
2017-10-10 12:35:09 +00:00