Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / X86 / clear-bitfield.ll
blob145c64c55d6596c38fa2c45a7e8b34e55f7c8097
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=x86_64-- -combiner-reduce-load-op-store-width=false | FileCheck %s
4 %struct.bit_fields = type { i32 }
6 define void @clear_b1(ptr %ptr) {
7 ; CHECK-LABEL: clear_b1:
8 ; CHECK:       # %bb.0: # %entry
9 ; CHECK-NEXT:    andl $-2, (%rdi)
10 ; CHECK-NEXT:    retq
11 entry:
12   %bf.load = load i32, ptr %ptr
13   %bf.clear = and i32 %bf.load, -2
14   store i32 %bf.clear, ptr %ptr
15   ret void
18 define void @clear16(ptr %ptr) {
19 ; CHECK-LABEL: clear16:
20 ; CHECK:       # %bb.0: # %entry
21 ; CHECK-NEXT:    andw $-2, (%rdi)
22 ; CHECK-NEXT:    retq
23 entry:
24   %bf.load = load i16, ptr %ptr
25   %bf.clear = and i16 %bf.load, -2
26   store i16 %bf.clear, ptr %ptr
27   ret void