[過去ログ] Qiita 3 - キータぞ、来たぞ、キータだぞー (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
263(2): デフォルトの名無しさん [sage] 2023/08/10(木) 19:46:00.32 ID:c2H9n5TK(3/9) AAS
記事の計算による方法
void hoge(int n, int num[n], int deleteNum)
{
for (int i = 0; i < n; i++) {
for (int i = 0; i < 6; i++) {
num[i] -= deleteNum * (deleteNum == num[i]); // deleteNumで指定した要素を消す
}
}
}
hoge: xorl %r11d, %r11d
leaq 24(%rsi), %r10
xorl %r9d, %r9d
testl %edi, %edi
jle .L9
.L2: movq %rsi, %rax
.L4: movl (%rax), %ecx
movl %r9d, %r8d
cmpl %edx, %ecx
cmove %edx, %r8d
addq $4, %rax
subl %r8d, %ecx
movl %ecx, -4(%rax)
cmpq %r10, %rax
jne .L4
addl $1, %r11d
cmpl %r11d, %edi
jne .L2
ret
.L9: ret
https://godbolt.org/z/do55an9P9
cmov命令吐いてる
268: デフォルトの名無しさん [sage] 2023/08/10(木) 20:21:25.47 ID:c2H9n5TK(6/9) AAS
>>263訂正
void hoge(int n, int num[n], int deleteNum)
{
for (int i = 0; i < 6; i++) {
num[i] -= deleteNum * (deleteNum == num[i]); // deleteNumで指定した要素を消す
}
}
hoge:
leaq 24(%rsi), %r8
xorl %edi, %edi
.L2:
movl (%rsi), %eax
movl %edi, %ecx
cmpl %edx, %eax
cmove %edx, %ecx
addq $4, %rsi
subl %ecx, %eax
movl %eax, -4(%rsi)
cmpq %rsi, %r8
jne .L2
ret
https://godbolt.org/z/br4nPfcEa
270: デフォルトの名無しさん [sage] 2023/08/10(木) 20:25:05.76 ID:c2H9n5TK(8/9) AAS
すまん>>263再度訂正
void hoge(int n, int num[n], int deleteNum)
{
for (int i = 0; i < n; i++) {
num[i] -= deleteNum * (deleteNum == num[i]); // deleteNumで指定した要素を消す
}
}
hoge:
testl %edi, %edi
jle .L1
movslq %edi, %rdi
leaq (%rsi,%rdi,4), %r8
xorl %edi, %edi
.L3:
movl (%rsi), %eax
movl %edi, %ecx
cmpl %edx, %eax
cmove %edx, %ecx
addq $4, %rsi
subl %ecx, %eax
movl %eax, -4(%rsi)
cmpq %rsi, %r8
jne .L3
.L1:
ret
https://godbolt.org/z/9K6dj7Goc
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.037s