61 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=x86_64-pc-linux-gnux32 -mattr=+ndd -verify-machineinstrs | FileCheck %s3 4 5define i32 @add32mi_SIB_ADSIZE(ptr nocapture noundef readonly %a, i32 noundef %b) {6; CHECK-LABEL: add32mi_SIB_ADSIZE:7; CHECK: # %bb.0: # %entry8; CHECK-NEXT: movl 1164(%edi,%esi,4), %eax9; CHECK-NEXT: addl $4660, %eax # imm = 0x123410; CHECK-NEXT: retq11entry:12 %add.ptr = getelementptr inbounds i32, ptr %a, i32 %b13 %add.ptr1 = getelementptr inbounds i8, ptr %add.ptr, i32 116414 %0 = load i32, ptr %add.ptr115 %add = add nsw i32 %0, 466016 ret i32 %add17}18 19declare ptr @llvm.thread.pointer()20 21define i32 @add32mi_FS_ADSIZE(i32 %i) {22; CHECK-LABEL: add32mi_FS_ADSIZE:23; CHECK: # %bb.0: # %entry24; CHECK-NEXT: movl %fs:0, %eax25; CHECK-NEXT: addl $4660, (%eax,%edi,4), %eax # imm = 0x123426; CHECK-NEXT: retq27entry:28 %0 = tail call ptr @llvm.thread.pointer()29 %arrayidx = getelementptr inbounds i32, ptr %0, i32 %i30 %1 = load i32, ptr %arrayidx31 %add = add nsw i32 %1, 466032 ret i32 %add33}34 35define i32 @add32mi_FS_SIB(i32 %i) {36; CHECK-LABEL: add32mi_FS_SIB:37; CHECK: # %bb.0: # %entry38; CHECK-NEXT: movl %fs:0, %eax39; CHECK-NEXT: addl $4660, %eax # imm = 0x123440; CHECK-NEXT: retq41entry:42 %0 = tail call ptr @llvm.thread.pointer()43 %arrayidx = getelementptr inbounds i32, ptr %0, i32 044 %1 = load i32, ptr %arrayidx45 %add = add nsw i32 %1, 466046 ret i32 %add47}48 49define i32 @add32mi_GS_ADSIZE(ptr addrspace(256) %a) {50; CHECK-LABEL: add32mi_GS_ADSIZE:51; CHECK: # %bb.0: # %entry52; CHECK-NEXT: movl %gs:4936(%edi), %eax53; CHECK-NEXT: addl $123456, %eax # imm = 0x1E24054; CHECK-NEXT: retq55entry:56 %arrayidx = getelementptr inbounds i32, ptr addrspace(256) %a, i32 123457 %t = load i32, ptr addrspace(256) %arrayidx58 %add = add i32 %t, 12345659 ret i32 %add60}61