mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-10-31 16:09:03 -05:00 
			
		
		
		
	gl_shader_decompiler: Implement IADD instruction.
This commit is contained in:
		| @@ -264,7 +264,7 @@ union Instruction { | ||||
|         BitField<39, 5, u64> shift_amount; | ||||
|         BitField<48, 1, u64> negate_b; | ||||
|         BitField<49, 1, u64> negate_a; | ||||
|     } iscadd; | ||||
|     } alu_integer; | ||||
|  | ||||
|     union { | ||||
|         BitField<20, 8, u64> shift_position; | ||||
| @@ -434,6 +434,9 @@ public: | ||||
|         FMUL_R, | ||||
|         FMUL_IMM, | ||||
|         FMUL32_IMM, | ||||
|         IADD_C, | ||||
|         IADD_R, | ||||
|         IADD_IMM, | ||||
|         ISCADD_C, // Scale and Add | ||||
|         ISCADD_R, | ||||
|         ISCADD_IMM, | ||||
| @@ -489,10 +492,10 @@ public: | ||||
|     enum class Type { | ||||
|         Trivial, | ||||
|         Arithmetic, | ||||
|         ArithmeticInteger, | ||||
|         Bfe, | ||||
|         Logic, | ||||
|         Shift, | ||||
|         ScaledAdd, | ||||
|         Ffma, | ||||
|         Flow, | ||||
|         Memory, | ||||
| @@ -617,9 +620,12 @@ private: | ||||
|             INST("0101110001101---", Id::FMUL_R, Type::Arithmetic, "FMUL_R"), | ||||
|             INST("0011100-01101---", Id::FMUL_IMM, Type::Arithmetic, "FMUL_IMM"), | ||||
|             INST("00011110--------", Id::FMUL32_IMM, Type::Arithmetic, "FMUL32_IMM"), | ||||
|             INST("0100110000011---", Id::ISCADD_C, Type::ScaledAdd, "ISCADD_C"), | ||||
|             INST("0101110000011---", Id::ISCADD_R, Type::ScaledAdd, "ISCADD_R"), | ||||
|             INST("0011100-00011---", Id::ISCADD_IMM, Type::ScaledAdd, "ISCADD_IMM"), | ||||
|             INST("0100110000010---", Id::IADD_C, Type::ArithmeticInteger, "IADD_C"), | ||||
|             INST("0101110000010---", Id::IADD_R, Type::ArithmeticInteger, "IADD_R"), | ||||
|             INST("0011100-00010---", Id::IADD_IMM, Type::ArithmeticInteger, "IADD_IMM"), | ||||
|             INST("0100110000011---", Id::ISCADD_C, Type::ArithmeticInteger, "ISCADD_C"), | ||||
|             INST("0101110000011---", Id::ISCADD_R, Type::ArithmeticInteger, "ISCADD_R"), | ||||
|             INST("0011100-00011---", Id::ISCADD_IMM, Type::ArithmeticInteger, "ISCADD_IMM"), | ||||
|             INST("0101000010000---", Id::MUFU, Type::Arithmetic, "MUFU"), | ||||
|             INST("0100110010010---", Id::RRO_C, Type::Arithmetic, "RRO_C"), | ||||
|             INST("0101110010010---", Id::RRO_R, Type::Arithmetic, "RRO_R"), | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 bunnei
					bunnei