changes order of operands to more closely resemble assembly
This commit is contained in:
		| @@ -191,16 +191,16 @@ if(vector != null) {%> | ||||
|     void vector_vector_op(uint8_t* V, uint8_t funct, uint64_t vl, uint64_t vstart, softvector::vtype_t vtype, bool vm, uint8_t vd, uint8_t vs2, uint8_t vs1, uint8_t sew_val){ | ||||
|         switch(sew_val){ | ||||
|             case 0b000: | ||||
|                 softvector::vector_vector_op<${vlen}, uint8_t>(V, funct, vl, vstart, vtype, vm, vs2, vs1, vd); | ||||
|                 softvector::vector_vector_op<${vlen}, uint8_t>(V, funct, vl, vstart, vtype, vm, vd, vs2, vs1); | ||||
|                 break; | ||||
|             case 0b001: | ||||
|                 softvector::vector_vector_op<${vlen}, uint16_t>(V, funct, vl, vstart, vtype, vm, vs2, vs1, vd); | ||||
|                 softvector::vector_vector_op<${vlen}, uint16_t>(V, funct, vl, vstart, vtype, vm, vd, vs2, vs1); | ||||
|                 break; | ||||
|             case 0b010: | ||||
|                 softvector::vector_vector_op<${vlen}, uint32_t>(V, funct, vl, vstart, vtype, vm, vs2, vs1, vd); | ||||
|                 softvector::vector_vector_op<${vlen}, uint32_t>(V, funct, vl, vstart, vtype, vm, vd, vs2, vs1); | ||||
|                 break; | ||||
|             case 0b011: | ||||
|                 softvector::vector_vector_op<${vlen}, uint64_t>(V, funct, vl, vstart, vtype, vm, vs2, vs1, vd); | ||||
|                 softvector::vector_vector_op<${vlen}, uint64_t>(V, funct, vl, vstart, vtype, vm, vd, vs2, vs1); | ||||
|                 break; | ||||
|             default: | ||||
|                 throw new std::runtime_error("Unsupported sew bit value"); | ||||
| @@ -209,16 +209,16 @@ if(vector != null) {%> | ||||
|     void vector_imm_op(uint8_t* V, uint8_t funct, uint64_t vl, uint64_t vstart, softvector::vtype_t vtype, bool vm, uint8_t vd, uint8_t vs2, int64_t imm, uint8_t sew_val){ | ||||
|         switch(sew_val){ | ||||
|             case 0b000: | ||||
|                 softvector::vector_imm_op<${vlen}, uint8_t>(V, funct, vl, vstart, vtype, vm, vs2, imm, vd); | ||||
|                 softvector::vector_imm_op<${vlen}, uint8_t>(V, funct, vl, vstart, vtype, vm, vd, vs2, imm); | ||||
|                 break; | ||||
|             case 0b001: | ||||
|                 softvector::vector_imm_op<${vlen}, uint16_t>(V, funct, vl, vstart, vtype, vm, vs2, imm, vd); | ||||
|                 softvector::vector_imm_op<${vlen}, uint16_t>(V, funct, vl, vstart, vtype, vm, vd, vs2, imm); | ||||
|                 break; | ||||
|             case 0b010: | ||||
|                 softvector::vector_imm_op<${vlen}, uint32_t>(V, funct, vl, vstart, vtype, vm, vs2, imm, vd); | ||||
|                 softvector::vector_imm_op<${vlen}, uint32_t>(V, funct, vl, vstart, vtype, vm, vd, vs2, imm); | ||||
|                 break; | ||||
|             case 0b011: | ||||
|                 softvector::vector_imm_op<${vlen}, uint64_t>(V, funct, vl, vstart, vtype, vm, vs2, imm, vd); | ||||
|                 softvector::vector_imm_op<${vlen}, uint64_t>(V, funct, vl, vstart, vtype, vm, vd, vs2, imm); | ||||
|                 break; | ||||
|             default: | ||||
|                 throw new std::runtime_error("Unsupported sew bit value"); | ||||
| @@ -227,13 +227,13 @@ if(vector != null) {%> | ||||
|     void vector_vector_wv(uint8_t* V, uint8_t funct, uint64_t vl, uint64_t vstart, softvector::vtype_t vtype, bool vm, uint8_t vd, uint8_t vs2, uint8_t vs1, uint8_t sew_val){ | ||||
|         switch(sew_val){ | ||||
|             case 0b000: | ||||
|                 softvector::vector_vector_op<${vlen}, uint16_t, uint8_t>(V, funct, vl, vstart, vtype, vm, vs2, vs1, vd); | ||||
|                 softvector::vector_vector_op<${vlen}, uint16_t, uint8_t>(V, funct, vl, vstart, vtype, vm, vd, vs2, vs1 ); | ||||
|                 break; | ||||
|             case 0b001: | ||||
|                 softvector::vector_vector_op<${vlen}, uint32_t, uint16_t>(V, funct, vl, vstart, vtype, vm, vs2, vs1, vd); | ||||
|                 softvector::vector_vector_op<${vlen}, uint32_t, uint16_t>(V, funct, vl, vstart, vtype, vm, vd, vs2, vs1 ); | ||||
|                 break; | ||||
|             case 0b010: | ||||
|                 softvector::vector_vector_op<${vlen}, uint64_t, uint32_t>(V, funct, vl, vstart, vtype, vm, vs2, vs1, vd); | ||||
|                 softvector::vector_vector_op<${vlen}, uint64_t, uint32_t>(V, funct, vl, vstart, vtype, vm, vd, vs2, vs1 ); | ||||
|                 break; | ||||
|             case 0b011: // would widen to 128 bits | ||||
|             default: | ||||
| @@ -243,13 +243,13 @@ if(vector != null) {%> | ||||
|     void vector_imm_wv(uint8_t* V, uint8_t funct, uint64_t vl, uint64_t vstart, softvector::vtype_t vtype, bool vm, uint8_t vd, uint8_t vs2, int64_t imm, uint8_t sew_val){ | ||||
|         switch(sew_val){ | ||||
|             case 0b000: | ||||
|                 softvector::vector_imm_op<${vlen}, uint16_t, uint8_t>(V, funct, vl, vstart, vtype, vm, vs2, imm, vd); | ||||
|                 softvector::vector_imm_op<${vlen}, uint16_t, uint8_t>(V, funct, vl, vstart, vtype, vm, vd, vs2, imm); | ||||
|                 break; | ||||
|             case 0b001: | ||||
|                 softvector::vector_imm_op<${vlen}, uint32_t, uint16_t>(V, funct, vl, vstart, vtype, vm, vs2, imm, vd); | ||||
|                 softvector::vector_imm_op<${vlen}, uint32_t, uint16_t>(V, funct, vl, vstart, vtype, vm, vd, vs2, imm); | ||||
|                 break; | ||||
|             case 0b010: | ||||
|                 softvector::vector_imm_op<${vlen}, uint64_t, uint32_t>(V, funct, vl, vstart, vtype, vm, vs2, imm, vd); | ||||
|                 softvector::vector_imm_op<${vlen}, uint64_t, uint32_t>(V, funct, vl, vstart, vtype, vm, vd, vs2, imm); | ||||
|                 break; | ||||
|             case 0b011: // would widen to 128 bits | ||||
|             default: | ||||
| @@ -259,13 +259,13 @@ if(vector != null) {%> | ||||
|     void vector_vector_ww(uint8_t* V, uint8_t funct, uint64_t vl, uint64_t vstart, softvector::vtype_t vtype, bool vm, uint8_t vd, uint8_t vs2, uint8_t vs1, uint8_t sew_val){ | ||||
|         switch(sew_val){ | ||||
|             case 0b000: | ||||
|                 softvector::vector_vector_op<${vlen}, uint16_t, uint16_t, uint8_t>(V, funct, vl, vstart, vtype, vm, vs2, vs1, vd); | ||||
|                 softvector::vector_vector_op<${vlen}, uint16_t, uint16_t, uint8_t>(V, funct, vl, vstart, vtype, vm, vd, vs2, vs1); | ||||
|                 break; | ||||
|             case 0b001: | ||||
|                 softvector::vector_vector_op<${vlen}, uint32_t, uint32_t, uint16_t>(V, funct, vl, vstart, vtype, vm, vs2, vs1, vd); | ||||
|                 softvector::vector_vector_op<${vlen}, uint32_t, uint32_t, uint16_t>(V, funct, vl, vstart, vtype, vm, vd, vs2, vs1); | ||||
|                 break; | ||||
|             case 0b010: | ||||
|                 softvector::vector_vector_op<${vlen}, uint64_t, uint64_t, uint32_t>(V, funct, vl, vstart, vtype, vm, vs2, vs1, vd); | ||||
|                 softvector::vector_vector_op<${vlen}, uint64_t, uint64_t, uint32_t>(V, funct, vl, vstart, vtype, vm, vd, vs2, vs1); | ||||
|                 break; | ||||
|             case 0b011: // would widen to 128 bits | ||||
|             default: | ||||
| @@ -275,13 +275,13 @@ if(vector != null) {%> | ||||
|     void vector_imm_ww(uint8_t* V, uint8_t funct, uint64_t vl, uint64_t vstart, softvector::vtype_t vtype, bool vm, uint8_t vd, uint8_t vs2, int64_t imm, uint8_t sew_val){ | ||||
|         switch(sew_val){ | ||||
|             case 0b000: | ||||
|                 softvector::vector_imm_op<${vlen}, uint16_t, uint16_t, uint8_t>(V, funct, vl, vstart, vtype, vm, vs2, imm, vd); | ||||
|                 softvector::vector_imm_op<${vlen}, uint16_t, uint16_t, uint8_t>(V, funct, vl, vstart, vtype, vm, vd, vs2, imm); | ||||
|                 break; | ||||
|             case 0b001: | ||||
|                 softvector::vector_imm_op<${vlen}, uint32_t, uint32_t, uint16_t>(V, funct, vl, vstart, vtype, vm, vs2, imm, vd); | ||||
|                 softvector::vector_imm_op<${vlen}, uint32_t, uint32_t, uint16_t>(V, funct, vl, vstart, vtype, vm, vd, vs2, imm); | ||||
|                 break; | ||||
|             case 0b010: | ||||
|                 softvector::vector_imm_op<${vlen}, uint64_t, uint64_t, uint32_t>(V, funct, vl, vstart, vtype, vm, vs2, imm, vd); | ||||
|                 softvector::vector_imm_op<${vlen}, uint64_t, uint64_t, uint32_t>(V, funct, vl, vstart, vtype, vm, vd, vs2, imm); | ||||
|                 break; | ||||
|             case 0b011: // would widen to 128 bits | ||||
|             default: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user