From 039a3bafecb42b51c2cc5f1bc1e0b0109873b729 Mon Sep 17 00:00:00 2001 From: Scott McMurray Date: Sun, 30 May 2021 21:27:29 -0700 Subject: [PATCH] Add another codegen test, array_eq_zero Showing that this avoids an alloca and private constant. --- src/test/codegen/array-equality.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/test/codegen/array-equality.rs b/src/test/codegen/array-equality.rs index 6a9fb5c8f86..aa56e32e26c 100644 --- a/src/test/codegen/array-equality.rs +++ b/src/test/codegen/array-equality.rs @@ -34,3 +34,12 @@ pub fn array_eq_long(a: &[u16; 1234], b: &[u16; 1234]) -> bool { // CHECK-NEXT: ret i1 %[[EQ]] a == b } + +// CHECK-LABEL: @array_eq_zero(i128 %0) +#[no_mangle] +pub fn array_eq_zero(x: [u16; 8]) -> bool { + // CHECK-NEXT: start: + // CHECK-NEXT: %[[EQ:.+]] = icmp eq i128 %0, 0 + // CHECK-NEXT: ret i1 %[[EQ]] + x == [0; 8] +}