target-ppc: Implement mtvsrws instruction
mtvsrws: Move To VSR Word & Splat Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
		
							parent
							
								
									4879538c99
								
							
						
					
					
						commit
						1a136cdce0
					
				| @ -384,6 +384,25 @@ static void gen_mtvsrdd(DisasContext *ctx) | ||||
|     tcg_gen_mov_i64(cpu_vsrl(xT(ctx->opcode)), cpu_gpr[rB(ctx->opcode)]); | ||||
| } | ||||
| 
 | ||||
| static void gen_mtvsrws(DisasContext *ctx) | ||||
| { | ||||
|     if (xT(ctx->opcode) < 32) { | ||||
|         if (unlikely(!ctx->vsx_enabled)) { | ||||
|             gen_exception(ctx, POWERPC_EXCP_VSXU); | ||||
|             return; | ||||
|         } | ||||
|     } else { | ||||
|         if (unlikely(!ctx->altivec_enabled)) { | ||||
|             gen_exception(ctx, POWERPC_EXCP_VPU); | ||||
|             return; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     tcg_gen_deposit_i64(cpu_vsrl(xT(ctx->opcode)), cpu_gpr[rA(ctx->opcode)], | ||||
|                         cpu_gpr[rA(ctx->opcode)], 32, 32); | ||||
|     tcg_gen_mov_i64(cpu_vsrh(xT(ctx->opcode)), cpu_vsrl(xT(ctx->opcode))); | ||||
| } | ||||
| 
 | ||||
| #endif | ||||
| 
 | ||||
| static void gen_xxpermdi(DisasContext *ctx) | ||||
|  | ||||
| @ -28,6 +28,7 @@ GEN_HANDLER_E(mfvsrd, 0x1F, 0x13, 0x01, 0x0000F800, PPC_NONE, PPC2_VSX207), | ||||
| GEN_HANDLER_E(mtvsrd, 0x1F, 0x13, 0x05, 0x0000F800, PPC_NONE, PPC2_VSX207), | ||||
| GEN_HANDLER_E(mfvsrld, 0X1F, 0x13, 0x09, 0x0000F800, PPC_NONE, PPC2_ISA300), | ||||
| GEN_HANDLER_E(mtvsrdd, 0X1F, 0x13, 0x0D, 0x0, PPC_NONE, PPC2_ISA300), | ||||
| GEN_HANDLER_E(mtvsrws, 0x1F, 0x13, 0x0C, 0x0000F800, PPC_NONE, PPC2_ISA300), | ||||
| #endif | ||||
| 
 | ||||
| #define GEN_XX1FORM(name, opc2, opc3, fl2)                              \ | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Ravi Bangoria
						Ravi Bangoria