brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.8 KiB · 5abf835 Raw
399 lines · plain
1## A larger branch relaxation test that requires multiple relaxation steps.2# RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t3# RUN: llvm-objdump -d %t | FileCheck %s4 5## Regression test that we use jump short instead of jump near6## (see the reverted be5a845e4c29aadb513ae6e5e2879dccf37efdbb).7# CHECK:      4a9: eb 00                         jmp     0x4ab8# CHECK:      5a3: eb 00                         jmp     0x5a59# CHECK-NEXT: 5a5: eb 00                         jmp     0x5a710# CHECK-NEXT: 5a7: eb 00                         jmp     0x5a911# CHECK-NEXT: 5a9: eb 00                         jmp     0x5ab12# CHECK-NEXT: 5ab: e9 fb fe ff ff                jmp     0x4ab13# CHECK-NEXT: 5b0: eb 00                         jmp     0x5b214 15	pushq	%rbp16	movq	%rsp, %rbp17	movq	%rcx, (%rbp)18	movq	%r8, (%rbp)19	movl	$0, (%rbp)20	movl	$0, (%rbp)21	movl	$0, (%rbp)22	cmpq	$0, (%rbp)23	je	.LBB0_224	movl	$0, (%rbp)25	jmp	.LBB0_3026.LBB0_2:27	jmp	.LBB0_328.LBB0_3:29	movq	(%rbp), %rax30	movsbl	(%rax), %ecx31	xorl	%eax, %eax32	cmpl	%ecx, %eax33	jne	.LBB0_2934	jmp	.LBB0_535.LBB0_5:36	movb	$0, %al37	callq	sqlite3_stepPLT38	movl	%eax, (%rbp)39	cmpq	$0, (%rbp)40	je	.LBB0_2341	movl	$100, %eax42	cmpl	(%rbp), %eax43	sete	%al44	andb	$1, %al45	movzbl	%al, %eax46	cmpl	(%rbp), %eax47	jne	.LBB0_2348	cmpl	$0, (%rbp)49	je	.LBB0_2350	movq	(%rbp), %rax51	movl	(%rax), %eax52	andl	$256, %eax53	cmpl	$0, %eax54	je	.LBB0_2355	cmpl	$0, (%rbp)56	je	.LBB0_2257	movl	$0, (%rbp)58.LBB0_11:59	cmpl	$0, (%rbp)60	je	.LBB0_1361	movl	(%rbp), %esi62	xorl	%edi, %edi63	movb	$0, %al64	callq	sqlite3_free_tablePLT65	jmp	.LBB0_1166.LBB0_13:67	movq	(%rbp), %rax68	movslq	(%rbp), %rcx69	cmpb	$0, (%rax,%rcx)70	je	.LBB0_1571	movq	(%rbp), %rax72	movb	$1, 8(%rax)73.LBB0_15:74	movq	(%rbp), %rax75	movslq	(%rbp), %rcx76	addq	%rcx, %rax77	movq	%rax, (%rip)78	movl	$0, (%rbp)79.LBB0_16:80	movl	(%rbp), %eax81	cmpl	(%rbp), %eax82	jge	.LBB0_2183	movl	$0, (%rbp)84	movl	$0, (%rbp)85	movq	(%rbp), %rdi86	movb	$0, %al87	callq	sqlite3_free_tablePLT88	movq	(%rip), %rax89	movslq	(%rbp), %rcx90	movl	$5, %edx91	cmpq	%rdx, (%rax,%rcx,)92	je	.LBB0_1993	movq	(%rbp), %rax94	movb	$1, 8(%rax)95	jmp	.LBB0_3096.LBB0_19:97	jmp	.LBB0_2098.LBB0_20:99	movl	(%rbp), %eax100	addl	$1, %eax101	movl	%eax, (%rbp)102	jmp	.LBB0_16103.LBB0_21:104	jmp	.LBB0_22105.LBB0_22:106	jmp	.LBB0_23107.LBB0_23:108	cmpl	$0, (%rbp)109	je	.LBB0_27110	movb	$0, %al111	callq	sqlite3_stepPLT112	movl	%eax, (%rbp)113	movl	$0, (%rbp)114	cmpl	$0, (%rbp)115	je	.LBB0_26116	jmp	.LBB0_28117.LBB0_26:118	jmp	.LBB0_27119.LBB0_27:120	jmp	.LBB0_5121.LBB0_28:122	jmp	.LBB0_3123.LBB0_29:124	jmp	.LBB0_30125.LBB0_30:126	movl	(%rbp), %eax127	addq	$96, %rsp128	popq	%rbp129	retq130	.p2align	4, 0x90131	movq	%rsp, %rbp132	subq	$48, %rsp133	movq	%rdi, (%rbp)134	movl	%esi, (%rbp)135	movl	%edx, (%rbp)136	cmpq	$0, sqlite3_get_table_res_00137	movq	(%rbp), %rax138	jmp	.LBB1_8139	movq	$0, (%rbp)140	movq	(%rbp), %rdi141	leaq	sqlite3_get_table_zSql0, %rsi142	leaq	sqlite3_get_table_cb0, %rdx143	leaq	sqlite3_get_table_res0, %rcx144	leaq	(%rip), %r8145	callq	sqlite3_exec146	movl	%eax, (%rip)147	movslq	(%rbp), %rax148	movq	%rax, (%rbp)149	movl	(%rip), %eax150	andl	$5, %eax151	cmpl	$0, %eax152	je	.LBB1_4153	movl	(%rip), %ecx154	movq	(%rbp), %rax155	movl	%ecx, (%rax)156	movl	(rip), %eax157	movl	%eax, (%rbp)158	jmp	.LBB1_8159.LBB1_4:160	movsbl	(%rip), %edi161	movb	$0, %al162	callq	sqlite3_free_tablePLT163	cmpl	$0, (%rip)164	je	.LBB1_6165	movq	(%rip), %rax166	movsbl	(%rax), %edi167	movb	$0, %al168	callq	sqlite3_free_tablePLT169.LBB1_6:170	movq	(rip), %rdi171	movslq	(%rbp), %rsi172	shlq	$0, %rsi173	addq	$1, %rsi174	movb	$0, %al175	callq	sqlite3_mallocPLT176	movq	%rax, (%rbp)177	cmpq	$0, (%rbp)178	je	.LBB1_8179	movl	$1, (%rbp)180.LBB1_8:181	movl	(%rbp), %eax182	addq	$48, %rsp183	.p2align	4, 0x90184	movq	(%rbp), %rax185	movl	28(%rax), %eax186	movq	(%rbp), %rcx187	addl	16(%rcx), %eax188	cmpl	$0, %eax189	movq	(%rbp), %rax190	movl	16(%rax), %ecx191	addl	(%rbp), %ecx192	addl	$1, %ecx193	movq	(%rbp), %rax194	movl	%ecx, 16(%rax)195	jmp	.LBB2_14196	movq	(%rbp), %rax197	cmpl	$0, 20(%rax)198	je	.LBB2_10199	movl	$0, (%rbp)200	movq	(%rbp), %rax201	movl	$0, 24(%rax)202.LBB2_4:203	movl	(%rbp), %eax204	cmpl	(%rbp), %eax205	jge	.LBB2_7206	movq	(%rbp), %rax207	movslq	(%rbp), %rcx208	movsbl	(%rax,%rcx), %esi209	leaq	.str, %rdi210	movb	$0, %al211	callq	sqlite3_mprintf@PLT212	movq	%rax, -64(%rbp)213	movl	-56(%rbp), %eax214	addl	$1, %eax215	movl	%eax, -56(%rbp)216	jmp	.LBB2_4217.LBB2_7:218	cmpq	$0, -64(%rbp)219	je	.LBB2_9220	jmp	.LBB2_9221.LBB2_9:222	movq	-64(%rbp), %rdx223	movq	-48(%rbp), %rax224	movq	(%rax), %rax225	movq	-48(%rbp), %rsi226	movl	28(%rsi), %ecx227	movl	%ecx, %edi228	addl	$1, %edi229	movl	%edi, 28(%rsi)230	movslq	%ecx, %rcx231	movq	%rdx, (%rax,%rcx,8)232	jmp	.LBB2_13233.LBB2_10:234	movq	-48(%rbp), %rax235	movslq	-20(%rbp), %rcx236	cmpq	%rcx, %rax237	je	.LBB2_12238	movq	-48(%rbp), %rax239	movq	8(%rax), %rdi240	movb	$0, %al241	callq	sqlite3_free_table@PLT242	leaq	.L.str, %rdi243	movb	$0, %al244	callq	sqlite3_mprintf@PLT245	movq	%rax, %rcx246	movq	-48(%rbp), %rax247	movq	%rcx, 8(%rax)248	movq	-48(%rbp), %rax249	movl	$1, 32(%rax)250	movl	$1, -4(%rbp)251	jmp	.LBB2_15252.LBB2_12:253	jmp	.LBB2_13254.LBB2_13:255	movl	$0, -4(%rbp)256	jmp	.LBB2_15257.LBB2_14:258.LBB2_15:259	movl	-4(%rbp), %eax260	addq	$64, %rsp261	popq	%rbp262	.p2align	4, 0x90263sqlite3_complete:264	je	.LBB3_54265	je	.LBB3_25266	je	.LBB3_25267	je	.LBB3_25268	jmp	.LBB3_28269	movl	$42, %eax270	cmpq	%rax, -160271	je	.LBB3_5272	jmp	.LBB3_53273.LBB3_5:274	jmp	.LBB3_6275.LBB3_6:276	movq	-160, %rax277	movsbl	0, %ecx278	xorl	%eax, %eax279	movb	$1, %al280	movl	$42, %ecx281	cmpq	%rcx, -160282	movb	%al, -340283	jne	.LBB3_9284	movq	-160, %rax285	movsbl	10, %eax286	cmpl	$0, %eax287	setne	%al288	movb	%al, -340289.LBB3_9:290	movb	-340, %al291	movb	%al, -330292	movb	-330, %al293	testb	$1, %al294	jne	.LBB3_11295	jmp	.LBB3_14296.LBB3_11:297	movq	-160, %rax298	movsbl	0, %eax299	cmpl	$0, %eax300	jne	.LBB3_13301	movl	$0, -40302	jmp	.LBB3_54303.LBB3_13:304	jmp	.LBB3_6305.LBB3_14:306	jmp	.LBB3_53307	movq	-160, %rax308	movsbl	10, %eax309	cmpl	$45, %eax310	je	.LBB3_17311	movb	$2, -170312	jmp	.LBB3_53313.LBB3_17:314	jmp	.LBB3_18315.LBB3_18:316	movq	-160, %rax317	movsbl	0, %ecx318	xorl	%eax, %eax319	cmpl	$0, %ecx320	movb	%al, -350321	jmp	.LBB3_53322.LBB3_25:323	movl	$0, -40324	jmp	.LBB3_54325	jmp	.LBB3_53326.LBB3_28:327	je	.LBB3_52328	jmp	.LBB3_52329	jmp	.LBB3_31330.LBB3_31:331	movq	-160, %rax332	movslq	-280, %rcx333	movsbl	0, %ecx334	movb	-360, %al335	andb	$1, %cl336	movzbl	%cl, %ecx337	movl	%ecx, -240338	testb	$1, %al339	jne	.LBB3_36340	jmp	.LBB3_51341.LBB3_36:342	movq	-160, %rax343	movsbl	0, %eax344	orl	$32, %eax345	cmpl	$0, -280346	je	.LBB3_40347	movq	-160, %rdi348	leaq	.L.str, %rsi349	movl	$7, %edx350	movb	$0, %al351	callq	sqlite3StrNICmp@PLT352	cmpl	$0, %eax353	je	.LBB3_40354	jmp	.LBB3_48355.LBB3_40:356	cmpl	$0, -280357	je	.LBB3_43358	movq	-160, %rdi359	leaq	.L.str, %rsi360	movl	$4, %edx361	movb	$0, %al362	callq	sqlite3StrNICmp@PLT363	cmpl	$0, %eax364	je	.LBB3_43365	movb	$5, -170366	jmp	.LBB3_47367.LBB3_43:368	cmpl	$0, -280369	je	.LBB3_46370	movq	-160, %rdi371	leaq	.L.str, %rsi372	movl	$9, %edx373	movb	$0, %al374	callq	sqlite3StrNICmp@PLT375	cmpl	$0, %eax376	je	.LBB3_46377	movl	-280, %ecx378	subl	$1, %ecx379	movq	-160, %rax380	movslq	%ecx, %rcx381	addq	%rcx, %rax382	movq	%rax, -160383.LBB3_46:384	jmp	.LBB3_47385.LBB3_47:386	jmp	.LBB3_48387.LBB3_48:388	jmp	.LBB3_49389.LBB3_49:390	jmp	.LBB3_50391.LBB3_50:392	jmp	.LBB3_31393.LBB3_51:394	jmp	.LBB3_52395.LBB3_52:396.LBB3_53:397.LBB3_54:398.L.str:399