about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/intrinsic/llvm.rs8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/intrinsic/llvm.rs b/src/intrinsic/llvm.rs
index befb2e17960..0eebd21001a 100644
--- a/src/intrinsic/llvm.rs
+++ b/src/intrinsic/llvm.rs
@@ -603,11 +603,9 @@ pub fn adjust_intrinsic_arguments<'a, 'b, 'gcc, 'tcx>(
             | "__builtin_ia32_aesenc256kl_u8"
             | "__builtin_ia32_aesdec256kl_u8" => {
                 let mut new_args = vec![];
-                // TODO: directly create a variable of type m128i instead of the whole struct?
-                let (aes_output_type, _, field2) = aes_output_type(builder);
-                let result = builder.current_func().new_local(None, aes_output_type, "result");
-                let field2 = result.access_field(None, field2);
-                new_args.push(field2.get_address(None));
+                let m128i = builder.context.new_vector_type(builder.i64_type, 2);
+                let result = builder.current_func().new_local(None, m128i, "result");
+                new_args.push(result.get_address(None));
                 new_args.extend(args.to_vec());
                 args = new_args.into();
             }