store i16 %ret, i16* %ptr, align 4
ret void
; CHECK-LABEL: mask16_mem
-; CHECK: kmovw (%rdi), %k{{[0-7]}}
+; CHECK: kmovw ([[ARG1:%rdi|%rcx]]), %k{{[0-7]}}
; CHECK-NEXT: knotw
-; CHECK-NEXT: kmovw %k{{[0-7]}}, (%rdi)
+; CHECK-NEXT: kmovw %k{{[0-7]}}, ([[ARG1]])
; CHECK: ret
}
store i8 %ret, i8* %ptr, align 4
ret void
; CHECK-LABEL: mask8_mem
-; CHECK: kmovw (%rdi), %k{{[0-7]}}
+; CHECK: kmovw ([[ARG1]]), %k{{[0-7]}}
; CHECK-NEXT: knotw
-; CHECK-NEXT: kmovw %k{{[0-7]}}, (%rdi)
+; CHECK-NEXT: kmovw %k{{[0-7]}}, ([[ARG1]])
; CHECK: ret
}
store i32 %ret, i32* %ptr, align 4
ret void
; CHECK-LABEL: mask32_mem
-; CHECK: kmovd (%rdi), %k{{[0-7]}}
+; CHECK: kmovd ([[ARG1:%rdi|%rcx]]), %k{{[0-7]}}
; CHECK-NEXT: knotd
-; CHECK-NEXT: kmovd %k{{[0-7]}}, (%rdi)
+; CHECK-NEXT: kmovd %k{{[0-7]}}, ([[ARG1]])
; CHECK_NEXT: ret
}
store i64 %ret, i64* %ptr, align 4
ret void
; CHECK-LABEL: mask64_mem
-; CHECK: kmovq (%rdi), %k{{[0-7]}}
+; CHECK: kmovq ([[ARG1]]), %k{{[0-7]}}
; CHECK-NEXT: knotq
-; CHECK-NEXT: kmovq %k{{[0-7]}}, (%rdi)
+; CHECK-NEXT: kmovq %k{{[0-7]}}, ([[ARG1]])
; CHECK_NEXT: ret
}
store i8 %ret, i8* %ptr, align 4
ret void
; CHECK-LABEL: mask8_mem
-; CHECK: kmovb (%rdi), %k{{[0-7]}}
+; CHECK: kmovb ([[ARG1:%rdi|%rcx]]), %k{{[0-7]}}
; CHECK-NEXT: knotb
-; CHECK-NEXT: kmovb %k{{[0-7]}}, (%rdi)
+; CHECK-NEXT: kmovb %k{{[0-7]}}, ([[ARG1]])
; CHECK: ret
}