brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · f13131e Raw
135 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+ndd -verify-machineinstrs | FileCheck %s3 4define i8 @not8r(i8 noundef %a) {5; CHECK-LABEL: not8r:6; CHECK:       # %bb.0: # %entry7; CHECK-NEXT:    notb %dil, %al8; CHECK-NEXT:    retq9entry:10  %not = xor i8 %a, -111  ret i8 %not12}13 14define i16 @not16r(i16 noundef %a) {15; CHECK-LABEL: not16r:16; CHECK:       # %bb.0: # %entry17; CHECK-NEXT:    notw %di, %ax18; CHECK-NEXT:    retq19entry:20  %not = xor i16 %a, -121  ret i16 %not22}23 24define i32 @not32r(i32 noundef %a) {25; CHECK-LABEL: not32r:26; CHECK:       # %bb.0: # %entry27; CHECK-NEXT:    notl %edi, %eax28; CHECK-NEXT:    retq29entry:30  %not = xor i32 %a, -131  ret i32 %not32}33 34define i64 @not64r(i64 noundef %a) {35; CHECK-LABEL: not64r:36; CHECK:       # %bb.0: # %entry37; CHECK-NEXT:    notq %rdi, %rax38; CHECK-NEXT:    retq39entry:40  %not = xor i64 %a, -141  ret i64 %not42}43 44define i8 @not8m(ptr %ptr) {45; CHECK-LABEL: not8m:46; CHECK:       # %bb.0: # %entry47; CHECK-NEXT:    notb (%rdi), %al48; CHECK-NEXT:    retq49entry:50  %a = load i8, ptr %ptr51  %not = xor i8 %a, -152  ret i8 %not53}54 55define i16 @not16m(ptr %ptr) {56; CHECK-LABEL: not16m:57; CHECK:       # %bb.0: # %entry58; CHECK-NEXT:    notw (%rdi), %ax59; CHECK-NEXT:    retq60entry:61  %a = load i16, ptr %ptr62  %not = xor i16 %a, -163  ret i16 %not64}65 66define i32 @not32m(ptr %ptr) {67; CHECK-LABEL: not32m:68; CHECK:       # %bb.0: # %entry69; CHECK-NEXT:    notl (%rdi), %eax70; CHECK-NEXT:    retq71entry:72  %a = load i32, ptr %ptr73  %not = xor i32 %a, -174  ret i32 %not75}76 77define i64 @not64m(ptr %ptr) {78; CHECK-LABEL: not64m:79; CHECK:       # %bb.0: # %entry80; CHECK-NEXT:    notq (%rdi), %rax81; CHECK-NEXT:    retq82entry:83  %a = load i64, ptr %ptr84  %not = xor i64 %a, -185  ret i64 %not86}87 88define void @not8m_legacy(ptr %ptr) {89; CHECK-LABEL: not8m_legacy:90; CHECK:       # %bb.0: # %entry91; CHECK-NEXT:    notb (%rdi)92; CHECK-NEXT:    retq93entry:94  %a = load i8, ptr %ptr95  %not = xor i8 %a, -196  store i8 %not, ptr %ptr97  ret void98}99 100define void @not16m_legacy(ptr %ptr) {101; CHECK-LABEL: not16m_legacy:102; CHECK:       # %bb.0: # %entry103; CHECK-NEXT:    notw (%rdi)104; CHECK-NEXT:    retq105entry:106  %a = load i16, ptr %ptr107  %not = xor i16 %a, -1108  store i16 %not, ptr %ptr109  ret void110}111 112define void @not32m_legacy(ptr %ptr) {113; CHECK-LABEL: not32m_legacy:114; CHECK:       # %bb.0: # %entry115; CHECK-NEXT:    notl (%rdi)116; CHECK-NEXT:    retq117entry:118  %a = load i32, ptr %ptr119  %not = xor i32 %a, -1120  store i32 %not, ptr %ptr121  ret void122}123 124define void @not64m_legacy(ptr %ptr) {125; CHECK-LABEL: not64m_legacy:126; CHECK:       # %bb.0: # %entry127; CHECK-NEXT:    notq (%rdi)128; CHECK-NEXT:    retq129entry:130  %a = load i64, ptr %ptr131  %not = xor i64 %a, -1132  store i64 %not, ptr %ptr133  ret void134}135