Anton Blanchard
beac678d09
powerpc: Fix bad inline asm constraint in create_zero_mask()
...
commit b4c112114aab9aff5ed4568ca5e662bb02cdfe74 upstream.
In create_zero_mask() we have:
addi %1,%2,-1
andc %1,%1,%2
popcntd %0,%1
using the "r" constraint for %2. r0 is a valid register in the "r" set,
but addi X,r0,X turns it into an li:
li r7,-1
andc r7,r7,r0
popcntd r4,r7
Fix this by using the "b" constraint, for which r0 is not a valid
register.
This was found with a kernel build using gcc trunk, narrowed down to
when -frename-registers was enabled at -O2. It is just luck however
that we aren't seeing this on older toolchains.
Thanks to Segher for working with me to find this issue.
Fixes: d0cebfa650 ("powerpc: word-at-a-time optimization for 64-bit Little Endian")
Signed-off-by: Anton Blanchard <anton@samba.org >
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-05-11 11:21:20 +02:00
..
2015-07-23 19:52:03 +10:00
2015-02-20 15:19:43 -05:00
2015-07-27 14:06:24 +02:00
2015-08-03 10:59:30 +02:00
2014-11-12 16:31:46 +11:00
2014-09-25 23:14:43 +10:00
2015-10-21 20:50:30 +11:00
2015-08-07 22:59:20 -05:00
2015-08-07 22:59:19 -05:00
2016-01-31 11:29:03 -08:00
2014-06-24 14:05:32 +10:00
2015-07-29 11:56:13 +10:00
2014-10-08 20:15:37 +11:00
2014-06-11 17:03:28 +10:00
2014-12-15 10:46:40 +11:00
2015-06-19 17:23:48 +10:00
2015-05-22 15:12:30 +10:00
2014-10-15 07:48:18 +02:00
2015-03-23 14:29:40 +11:00
2014-05-23 08:28:02 +09:00
2015-03-31 14:19:47 +11:00
2014-05-20 10:54:06 +10:00
2015-07-13 10:10:54 +10:00
2015-10-15 15:58:16 +11:00
2015-09-10 13:29:01 -07:00
2015-05-28 15:31:53 +02:00
2014-06-11 17:04:33 +10:00
2016-02-25 12:01:18 -08:00
2015-04-14 16:49:05 -07:00
2015-10-27 18:14:40 -05:00
2014-08-05 16:33:48 +10:00
2014-10-30 16:52:46 +11:00
2015-04-07 17:15:13 +10:00
2014-06-25 18:49:40 -05:00
2015-01-12 05:04:13 -08:00
2015-02-03 18:47:18 +01:00
2015-07-20 22:30:53 -04:00
2014-11-03 12:12:32 +11:00
2015-11-09 15:11:24 -08:00
2015-06-25 17:00:35 -07:00
2014-07-28 15:22:19 +02:00
2014-05-20 10:54:06 +10:00
2014-08-05 16:33:48 +10:00
2014-09-25 23:14:43 +10:00
2015-05-11 15:06:39 +08:00
2015-07-29 10:02:36 +02:00
2015-07-13 10:10:54 +10:00
2015-02-23 14:52:04 +11:00
2014-09-25 23:14:43 +10:00
2014-07-28 14:11:23 +10:00
2015-08-03 11:34:15 +02:00
2015-10-06 14:52:48 -04:00
2014-12-29 15:44:53 +11:00
2015-01-23 14:02:51 +11:00
2014-09-22 10:11:34 +02:00
2015-06-05 17:26:35 +02:00
2015-08-22 11:16:19 +02:00
2015-08-22 11:16:19 +02:00
2015-08-22 11:16:19 +02:00
2015-11-05 16:26:26 -08:00
2015-05-28 10:42:58 +02:00
2015-10-09 08:01:38 +11:00
2015-06-24 17:49:41 -07:00
2015-06-24 17:49:41 -07:00
2015-06-02 21:37:28 -05:00
2014-07-28 15:23:13 +02:00
2015-10-12 15:30:09 +11:00
2014-07-28 14:10:23 +10:00
2014-04-23 10:05:34 +10:00
2015-10-22 16:06:08 +02:00
2015-03-31 22:23:17 -05:00
2015-10-22 15:19:40 +02:00
2015-03-23 19:51:17 -05:00
2015-10-05 21:32:50 +11:00
2015-04-11 20:49:27 +10:00
2015-03-23 14:05:49 +11:00
2016-03-16 08:43:01 -07:00
2016-03-16 08:43:01 -07:00
2014-07-28 14:10:25 +10:00
2015-03-31 22:23:17 -05:00
2014-10-02 16:04:21 +10:00
2015-10-27 18:13:29 -05:00
2015-08-18 19:32:11 +10:00
2015-06-25 15:22:36 -07:00
2014-07-28 14:30:47 +10:00
2014-10-15 11:23:20 +11:00
2014-11-17 10:12:42 +00:00
2015-06-02 21:37:27 -05:00
2014-11-14 17:24:21 +11:00
2014-11-14 17:24:21 +11:00
2015-10-12 15:30:09 +11:00
2015-10-12 15:30:09 +11:00
2014-10-07 22:01:56 +11:00
2015-06-03 13:27:19 +10:00
2015-03-16 18:32:11 +11:00
2015-10-21 20:50:30 +11:00
2015-08-18 19:34:42 +10:00
2015-07-16 16:02:37 +10:00
2014-09-25 23:14:43 +10:00
2015-06-02 21:37:28 -05:00
2015-02-16 17:56:05 -08:00
2015-02-16 17:56:05 -08:00
2015-06-19 17:10:29 +10:00
2015-08-07 23:00:01 -05:00
2015-02-16 17:56:05 -08:00
2015-02-16 17:56:05 -08:00
2014-08-13 18:20:41 +10:00
2015-06-19 17:10:29 +10:00
2014-09-09 19:02:45 +10:00
2015-09-16 15:47:51 +02:00
2014-06-11 16:35:38 +10:00
2015-10-15 15:58:16 +11:00
2015-11-23 20:06:31 +11:00
2014-09-25 23:14:43 +10:00
2015-07-23 19:43:11 +10:00
2015-04-17 09:04:10 -04:00
2014-06-10 18:54:22 -07:00
2015-04-10 20:02:48 +10:00
2015-04-10 20:02:49 +10:00
2015-03-06 23:21:07 +01:00
2015-08-04 08:49:21 -07:00
2015-08-18 19:29:49 +10:00
2014-10-08 20:14:54 +11:00
2014-09-25 23:14:51 +10:00
2014-04-30 15:26:18 +10:00
2015-03-24 13:33:52 +11:00
2015-07-14 14:56:48 +08:00
2016-01-31 11:29:03 -08:00
2015-07-29 11:56:13 +10:00
2015-12-16 21:52:32 +11:00
2015-04-12 21:03:30 +02:00
2015-04-21 15:21:31 +02:00
2014-11-17 10:12:42 +00:00
2014-12-05 16:26:15 +11:00
2015-05-27 15:22:15 +02:00
2015-08-06 16:36:23 +10:00
2015-06-10 14:06:29 +10:00
2015-09-16 15:47:51 +02:00
2014-09-25 23:14:43 +10:00
2015-06-11 17:33:05 +10:00
2015-03-16 18:50:17 +11:00
2014-09-25 23:14:43 +10:00
2015-11-16 17:05:53 +11:00
2015-03-23 14:29:40 +11:00
2015-05-05 13:35:39 -06:00
2016-05-11 11:21:20 +02:00
2015-04-10 20:02:49 +10:00