1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc < %s -mtriple=i686-unknown-unknown | FileCheck %s --check-prefix=X86
3; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=X64
4
5; OSS Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=22357
6define void @fuzz22357(i128 %a0) {
7; X86-LABEL: fuzz22357:
8; X86:       # %bb.0:
9; X86-NEXT:    movb $0, (%eax)
10; X86-NEXT:    retl
11;
12; X64-LABEL: fuzz22357:
13; X64:       # %bb.0:
14; X64-NEXT:    movb $0, (%rax)
15; X64-NEXT:    retq
16  %1 = add i128 %a0, 170141183460469231731687303715884105727
17  %2 = add nuw nsw i128 %1, 22222
18  %3 = getelementptr i8, i8* undef, i128 %2
19  store i8 0, i8* %3, align 1
20  ret void
21}
22
23; OSS Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=22723
24define void @fuzz22723(i128 %a0) {
25; X86-LABEL: fuzz22723:
26; X86:       # %bb.0:
27; X86-NEXT:    retl
28;
29; X64-LABEL: fuzz22723:
30; X64:       # %bb.0:
31; X64-NEXT:    retq
32  %1 = add i128 %a0, 170141183460469231731687303715884105727
33  %2 = getelementptr i128*, i128** undef, i128 %1
34  store i128* undef, i128** %2, align 8
35  ret void
36}
37