diff mbox

drm: sti: remove redundant sign extensions

Message ID 1445001296-23029-1-git-send-email-linux@rasmusvillemoes.dk (mailing list archive)
State New, archived
Headers show

Commit Message

Rasmus Villemoes Oct. 16, 2015, 1:14 p.m. UTC
arg is long int, so arg = (arg << 22) >> 22 makes the upper 22 bits of
arg equal to bit 9 (or bit 41). But we then mask away all but bits 0-9, so
this is entirely redundant.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
---
gcc seems to be smart enough to realize this - the generated code is
the same. This is thus just a tiny cleanup.

 drivers/gpu/drm/sti/sti_awg_utils.c | 4 ----
 1 file changed, 4 deletions(-)

Comments

Vincent Abriou Oct. 29, 2015, 4:10 p.m. UTC | #1
Hi Rasmus,

Thanks for the patch.
I will integrated it in the next pull request for the sti driver.

BR
Vincent

On 10/16/2015 03:14 PM, Rasmus Villemoes wrote:
> arg is long int, so arg = (arg << 22) >> 22 makes the upper 22 bits of
> arg equal to bit 9 (or bit 41). But we then mask away all but bits 0-9, so
> this is entirely redundant.
>
> Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
> ---
> gcc seems to be smart enough to realize this - the generated code is
> the same. This is thus just a tiny cleanup.
>
>   drivers/gpu/drm/sti/sti_awg_utils.c | 4 ----
>   1 file changed, 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/sti/sti_awg_utils.c b/drivers/gpu/drm/sti/sti_awg_utils.c
> index 6029a2e3db1d..00d0698be9d3 100644
> --- a/drivers/gpu/drm/sti/sti_awg_utils.c
> +++ b/drivers/gpu/drm/sti/sti_awg_utils.c
> @@ -65,7 +65,6 @@ static int awg_generate_instr(enum opcode opcode,
>
>   			mux = 0;
>   			data_enable = 0;
> -			arg = (arg << 22) >> 22;
>   			arg &= (0x3ff);
>   			break;
>   		case REPEAT:
> @@ -77,14 +76,12 @@ static int awg_generate_instr(enum opcode opcode,
>
>   			mux = 0;
>   			data_enable = 0;
> -			arg = (arg << 22) >> 22;
>   			arg &= (0x3ff);
>   			break;
>   		case JUMP:
>   			mux = 0;
>   			data_enable = 0;
>   			arg |= 0x40; /* for jump instruction 7th bit is 1 */
> -			arg = (arg << 22) >> 22;
>   			arg &= 0x3ff;
>   			break;
>   		case STOP:
> @@ -94,7 +91,6 @@ static int awg_generate_instr(enum opcode opcode,
>   		case RPTSET:
>   		case RPLSET:
>   		case HOLD:
> -			arg = (arg << 24) >> 24;
>   			arg &= (0x0ff);
>   			break;
>   		default:
>
diff mbox

Patch

diff --git a/drivers/gpu/drm/sti/sti_awg_utils.c b/drivers/gpu/drm/sti/sti_awg_utils.c
index 6029a2e3db1d..00d0698be9d3 100644
--- a/drivers/gpu/drm/sti/sti_awg_utils.c
+++ b/drivers/gpu/drm/sti/sti_awg_utils.c
@@ -65,7 +65,6 @@  static int awg_generate_instr(enum opcode opcode,
 
 			mux = 0;
 			data_enable = 0;
-			arg = (arg << 22) >> 22;
 			arg &= (0x3ff);
 			break;
 		case REPEAT:
@@ -77,14 +76,12 @@  static int awg_generate_instr(enum opcode opcode,
 
 			mux = 0;
 			data_enable = 0;
-			arg = (arg << 22) >> 22;
 			arg &= (0x3ff);
 			break;
 		case JUMP:
 			mux = 0;
 			data_enable = 0;
 			arg |= 0x40; /* for jump instruction 7th bit is 1 */
-			arg = (arg << 22) >> 22;
 			arg &= 0x3ff;
 			break;
 		case STOP:
@@ -94,7 +91,6 @@  static int awg_generate_instr(enum opcode opcode,
 		case RPTSET:
 		case RPLSET:
 		case HOLD:
-			arg = (arg << 24) >> 24;
 			arg &= (0x0ff);
 			break;
 		default: