; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: opt -passes=expand-memcmp -mtriple=x86_64-unknown-unknown -S < %s | llc -mtriple=x86_64-unknown-unknown | FileCheck %s

@.str1 = private constant [4 x i8] c"\00\00\00\00", align 1
@.str2 = private constant [4 x i8] c"\ff\ff\ff\ff", align 1

declare i32 @memcmp(ptr, ptr, i64)

define i32 @length4_same() nounwind {
; CHECK-LABEL: length4_same:
; CHECK:       # %bb.0:
; CHECK-NEXT:    xorl %eax, %eax
; CHECK-NEXT:    retq
  %m = tail call i32 @memcmp(ptr @.str1, ptr @.str1, i64 4) nounwind
  ret i32 %m
}

define i1 @length4_same_lt() nounwind {
; CHECK-LABEL: length4_same_lt:
; CHECK:       # %bb.0:
; CHECK-NEXT:    xorl %eax, %eax
; CHECK-NEXT:    retq
  %m = tail call i32 @memcmp(ptr @.str1, ptr @.str1, i64 4) nounwind
  %c = icmp slt i32 %m, 0
  ret i1 %c
}

define i1 @length4_same_gt() nounwind {
; CHECK-LABEL: length4_same_gt:
; CHECK:       # %bb.0:
; CHECK-NEXT:    xorl %eax, %eax
; CHECK-NEXT:    retq
  %m = tail call i32 @memcmp(ptr @.str1, ptr @.str1, i64 4) nounwind
  %c = icmp sgt i32 %m, 0
  ret i1 %c
}

define i1 @length4_same_le() nounwind {
; CHECK-LABEL: length4_same_le:
; CHECK:       # %bb.0:
; CHECK-NEXT:    movb $1, %al
; CHECK-NEXT:    retq
  %m = tail call i32 @memcmp(ptr @.str1, ptr @.str1, i64 4) nounwind
  %c = icmp sle i32 %m, 0
  ret i1 %c
}

define i1 @length4_same_ge() nounwind {
; CHECK-LABEL: length4_same_ge:
; CHECK:       # %bb.0:
; CHECK-NEXT:    movb $1, %al
; CHECK-NEXT:    retq
  %m = tail call i32 @memcmp(ptr @.str1, ptr @.str1, i64 4) nounwind
  %c = icmp sge i32 %m, 0
  ret i1 %c
}


define i32 @length4() nounwind {
; CHECK-LABEL: length4:
; CHECK:       # %bb.0:
; CHECK-NEXT:    movl $-1, %eax
; CHECK-NEXT:    retq
  %m = tail call i32 @memcmp(ptr @.str1, ptr @.str2, i64 4) nounwind
  ret i32 %m
}

define i1 @length4_lt() nounwind {
; CHECK-LABEL: length4_lt:
; CHECK:       # %bb.0:
; CHECK-NEXT:    movb $1, %al
; CHECK-NEXT:    retq
  %m = tail call i32 @memcmp(ptr @.str1, ptr @.str2, i64 4) nounwind
  %c = icmp slt i32 %m, 0
  ret i1 %c
}

define i1 @length4_gt() nounwind {
; CHECK-LABEL: length4_gt:
; CHECK:       # %bb.0:
; CHECK-NEXT:    xorl %eax, %eax
; CHECK-NEXT:    retq
  %m = tail call i32 @memcmp(ptr @.str1, ptr @.str2, i64 4) nounwind
  %c = icmp sgt i32 %m, 0
  ret i1 %c
}

define i1 @length4_le() nounwind {
; CHECK-LABEL: length4_le:
; CHECK:       # %bb.0:
; CHECK-NEXT:    movb $1, %al
; CHECK-NEXT:    retq
  %m = tail call i32 @memcmp(ptr @.str1, ptr @.str2, i64 4) nounwind
  %c = icmp sle i32 %m, 0
  ret i1 %c
}

define i1 @length4_ge() nounwind {
; CHECK-LABEL: length4_ge:
; CHECK:       # %bb.0:
; CHECK-NEXT:    xorl %eax, %eax
; CHECK-NEXT:    retq
  %m = tail call i32 @memcmp(ptr @.str1, ptr @.str2, i64 4) nounwind
  %c = icmp sge i32 %m, 0
  ret i1 %c
}


