Compile bitwise operations as well
This commit is contained in:
		
							parent
							
								
									97948d8c38
								
							
						
					
					
						commit
						2709eb8749
					
				| @ -975,11 +975,31 @@ impl InstructionHolder { | |||||||
|                     ty.as_llvm(module.context_ref, &module.types), |                     ty.as_llvm(module.context_ref, &module.types), | ||||||
|                     name.as_ptr(), |                     name.as_ptr(), | ||||||
|                 ), |                 ), | ||||||
|                 Or(instruction_value, instruction_value1) => todo!(), |                 Or(lhs, rhs) => { | ||||||
|                 XOr(instruction_value, instruction_value1) => todo!(), |                     let lhs_val = module.values.get(&lhs).unwrap().value_ref; | ||||||
|                 ShiftRightLogical(instruction_value, instruction_value1) => todo!(), |                     let rhs_val = module.values.get(&rhs).unwrap().value_ref; | ||||||
|                 ShiftRightArithmetic(instruction_value, instruction_value1) => todo!(), |                     LLVMBuildOr(module.builder_ref, lhs_val, rhs_val, name.as_ptr()) | ||||||
|                 ShiftLeft(instruction_value, instruction_value1) => todo!(), |                 } | ||||||
|  |                 XOr(lhs, rhs) => { | ||||||
|  |                     let lhs_val = module.values.get(&lhs).unwrap().value_ref; | ||||||
|  |                     let rhs_val = module.values.get(&rhs).unwrap().value_ref; | ||||||
|  |                     LLVMBuildXor(module.builder_ref, lhs_val, rhs_val, name.as_ptr()) | ||||||
|  |                 } | ||||||
|  |                 ShiftRightLogical(lhs, rhs) => { | ||||||
|  |                     let lhs_val = module.values.get(&lhs).unwrap().value_ref; | ||||||
|  |                     let rhs_val = module.values.get(&rhs).unwrap().value_ref; | ||||||
|  |                     LLVMBuildLShr(module.builder_ref, lhs_val, rhs_val, name.as_ptr()) | ||||||
|  |                 } | ||||||
|  |                 ShiftRightArithmetic(lhs, rhs) => { | ||||||
|  |                     let lhs_val = module.values.get(&lhs).unwrap().value_ref; | ||||||
|  |                     let rhs_val = module.values.get(&rhs).unwrap().value_ref; | ||||||
|  |                     LLVMBuildAShr(module.builder_ref, lhs_val, rhs_val, name.as_ptr()) | ||||||
|  |                 } | ||||||
|  |                 ShiftLeft(lhs, rhs) => { | ||||||
|  |                     let lhs_val = module.values.get(&lhs).unwrap().value_ref; | ||||||
|  |                     let rhs_val = module.values.get(&rhs).unwrap().value_ref; | ||||||
|  |                     LLVMBuildShl(module.builder_ref, lhs_val, rhs_val, name.as_ptr()) | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
|         }; |         }; | ||||||
|         if let Some(record) = &self.record { |         if let Some(record) = &self.record { | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user