Size: a a a

Ассемблер

2021 August 23

E

Entusiast in Ассемблер
Спасибо, тоже вот только что думал добавлять unsigned
источник

d

disba1ancer in Ассемблер
Мне не удалось заставить его сгенерировать bsr кодом без интринсиков, но я не то чтобы сильно пытался
источник

d

disba1ancer in Ассемблер
Ты можешь делать каст внутри функции
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
@Alex_D73 здарова
источник

AD

Alex D in Ассемблер
Привет всем! Если что я не бот. Я интересующиеся)
источник

s

s54816 in Ассемблер
__builtin_clz() ^ 31, и будет тебе в листинге самый что ни на есть чистый bsr.
источник

d

disba1ancer in Ассемблер
лучше бы научились этот bsr из обычного кода генерировать
источник

d

disba1ancer in Ассемблер
а что __builtin_clz должен возвращать при нуле?
источник

s

s54816 in Ассемблер
Ничего хорошего, поэтому его придётся оборачивать в if.
источник

d

disba1ancer in Ассемблер
даже на тех архитектурах где вместо bsr полноценный clz?
источник

s

s54816 in Ассемблер
Ну документация говорит, что результат не определён. А что там будет по факту, я не тестил.
источник

s

s54816 in Ассемблер
По идее должно быть ок, специально-то они ломать не будут. Но не портабельно.
источник

d

disba1ancer in Ассемблер
прикол в том что даже документация интела не помогает, результирующий регистр неопределён, это хуже чем без изменений
источник

d

disba1ancer in Ассемблер
документация на gcc?
источник

s

s54816 in Ассемблер
Да оно решается одним jz.
источник

s

s54816 in Ассемблер
Да.
источник

d

disba1ancer in Ассемблер
яснопонятно
источник

И

Игорь in Ассемблер
ну вот через битовую матрицу получилось
источник

ФА

Фея Актива in Ассемблер
Норм. Запили рогалик на символах, как прадеды.
источник

ФА

Фея Актива in Ассемблер
Dungeon and Dragons
источник