2016-06-21T00:00:46Z jasom: "(x << 10) | (x >> 54)" will generate a rotate on pretty much all modern optimizing C compilers. Given that, in this case, C and Lisp are similar in not having a portable way of representing rotate, I expected sbcl would be able to take some form of this and generate a rotate. 2016-06-21T00:01:34Z stassats: well, wrong expectation, the compiler in sbcl is very simple minded 2016-06-21T00:01:42Z stassats: it's just better than other CL compilers 2016-06-21T00:02:59Z jasom: which is why I was asking if there were a good way to do this; to my (grounded in C) mind, IR2 seemed like a natural place to do so. 2016-06-21T00:03:00Z stassats: the only operations that sbcl optimizes beyond a single function is modular arithmetic 2016-06-21T00:03:06Z stassats: and that's done ugly as hell 2016-06-21T00:03:36Z stassats: no, VOPs are the wrong place 2016-06-21T00:04:08Z fe[nl]ix: jasom: the architecture of Python hasn't changed much in 25 years 2016-06-21T00:04:47Z fe[nl]ix: for being simple-minded it's pretty good 2016-06-21T00:04:57Z stassats: jasom: there's only one ASH but there's a gazillion VOPs that translate it, why would you want to deal with the VOPs? 2016-06-21T00:07:35Z jasom: stassats: because at IR2, Python has already done the hard work of determining if we can do fast arithmetic on it. 2016-06-21T00:09:37Z jasom: http://paste.lisp.org/display/318862 <-- this has a fast-ash fast-logand fast-ash sequence with only immediate values. Transforming it is not hard. Transforming it is only useful *if* the vops are relatively standard between archs and come from a relatively stable set. 2016-06-21T00:10:05Z stassats: ok, do it that way 2016-06-21T00:10:08Z stassats: what do i care 2016-06-21T00:11:53Z stassats: most of this is optimized in ir1 anyhow 2016-06-21T00:12:54Z stassats: and ir2 does a stinky job at representation selection 2016-06-21T00:14:05Z ASau joined #sbcl 2016-06-21T00:19:02Z jasom: anyways doing peepholes on IR2 seems no worse than doing it on assembly, since peephole performance is largely related to the window size, and there will typically be no more (and often fewer) VOPs than instructions. 2016-06-21T00:19:36Z stassats: (logior (ash x -54) (ash (ldb (byte 54 0) x) 10)) doesn't need a peephole optimizer 2016-06-21T00:45:18Z DeadTrickster quit (Ping timeout: 250 seconds) 2016-06-21T00:46:16Z abruanese quit (Ping timeout: 272 seconds) 2016-06-21T01:18:02Z eschatologist joined #sbcl 2016-06-21T01:34:24Z logrus_ joined #sbcl 2016-06-21T02:12:31Z eschatologist quit (Quit: Textual IRC Client: www.textualapp.com) 2016-06-21T02:19:39Z eschatologist joined #sbcl 2016-06-21T02:45:20Z eschatologist quit (Ping timeout: 250 seconds) 2016-06-21T02:48:26Z edgar-rft quit (Quit: edgar-rft) 2016-06-21T03:05:19Z eschatologist joined #sbcl 2016-06-21T03:05:27Z DougNYC joined #sbcl 2016-06-21T03:10:10Z loke joined #sbcl 2016-06-21T03:20:15Z stassats quit (Ping timeout: 264 seconds) 2016-06-21T03:30:30Z guicho joined #sbcl 2016-06-21T04:59:09Z shka joined #sbcl 2016-06-21T05:29:25Z logrus_ quit (Quit: Leaving) 2016-06-21T05:38:10Z DougNYC quit 2016-06-21T05:58:42Z shka quit (Ping timeout: 244 seconds) 2016-06-21T06:13:05Z salva joined #sbcl 2016-06-21T06:22:20Z eschatologist quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2016-06-21T06:22:32Z eschatologist joined #sbcl 2016-06-21T06:25:35Z guicho quit (Ping timeout: 244 seconds) 2016-06-21T06:28:11Z salva quit (Ping timeout: 244 seconds) 2016-06-21T06:40:39Z DavidGu_Desktop joined #sbcl 2016-06-21T06:46:05Z salva0 joined #sbcl 2016-06-21T06:46:30Z DeadTrickster joined #sbcl 2016-06-21T06:52:40Z salva0 quit (Ping timeout: 264 seconds) 2016-06-21T07:10:07Z gingerale joined #sbcl 2016-06-21T07:11:18Z DeadTrickster quit (Ping timeout: 258 seconds) 2016-06-21T07:12:00Z salva0 joined #sbcl 2016-06-21T07:13:52Z p_l quit (Ping timeout: 272 seconds) 2016-06-21T07:16:36Z salva0 quit (Ping timeout: 250 seconds) 2016-06-21T07:26:23Z attila_lendvai joined #sbcl 2016-06-21T07:26:23Z attila_lendvai quit (Changing host) 2016-06-21T07:26:23Z attila_lendvai joined #sbcl 2016-06-21T07:27:28Z DavidGu_Desktop quit (Read error: Connection reset by peer) 2016-06-21T07:27:49Z DavidGu_Desktop joined #sbcl 2016-06-21T07:31:56Z scymtym joined #sbcl 2016-06-21T07:59:42Z SamSkulls joined #sbcl 2016-06-21T08:05:29Z SamSkulls quit (Quit: ERC (IRC client for Emacs 25.0.50.1)) 2016-06-21T08:09:13Z DavidGu_Desktop quit (Read error: Connection reset by peer) 2016-06-21T08:09:19Z DavidGu_Desktop1 joined #sbcl 2016-06-21T08:11:50Z DavidGu_Desktop1 is now known as DavidGu_Desktop 2016-06-21T08:24:08Z DavidGu_Desktop quit (Ping timeout: 258 seconds) 2016-06-21T08:24:14Z angavrilov joined #sbcl 2016-06-21T08:33:00Z p_l joined #sbcl 2016-06-21T08:44:28Z DavidGu_Desktop joined #sbcl 2016-06-21T08:51:18Z DavidGu_Desktop quit (Ping timeout: 276 seconds) 2016-06-21T08:54:35Z ASau quit (Ping timeout: 260 seconds) 2016-06-21T09:18:35Z salva0 joined #sbcl 2016-06-21T09:20:48Z attila_lendvai quit (Quit: Leaving.) 2016-06-21T09:44:21Z edgar-rft joined #sbcl 2016-06-21T09:59:53Z DeadTrickster joined #sbcl 2016-06-21T10:06:28Z DeadTrickster quit (Ping timeout: 264 seconds) 2016-06-21T10:32:29Z guicho joined #sbcl 2016-06-21T10:33:56Z guicho quit (Client Quit) 2016-06-21T10:38:58Z guicho joined #sbcl 2016-06-21T10:39:05Z guicho quit (Remote host closed the connection) 2016-06-21T10:45:10Z DeadTrickster joined #sbcl 2016-06-21T11:04:34Z DeadTrickster quit (Ping timeout: 260 seconds) 2016-06-21T11:05:33Z DavidGu_Desktop joined #sbcl 2016-06-21T12:22:45Z Blkt quit (Remote host closed the connection) 2016-06-21T12:22:45Z fe[nl]ix quit (Read error: Connection reset by peer) 2016-06-21T12:24:26Z Blkt joined #sbcl 2016-06-21T12:24:38Z fe[nl]ix joined #sbcl 2016-06-21T12:29:22Z eudoxia joined #sbcl 2016-06-21T14:05:08Z scymtym_ joined #sbcl 2016-06-21T14:06:40Z scymtym quit (Ping timeout: 260 seconds) 2016-06-21T14:45:57Z attila_lendvai joined #sbcl 2016-06-21T14:50:05Z attila_lendvai quit (Read error: Connection reset by peer) 2016-06-21T14:50:43Z leo_song quit (Ping timeout: 244 seconds) 2016-06-21T14:55:10Z leo_song joined #sbcl 2016-06-21T14:58:45Z attila_lendvai joined #sbcl 2016-06-21T14:59:42Z attila_lendvai quit (Read error: Connection reset by peer) 2016-06-21T14:59:49Z DavidGu_Desktop quit (Quit: DavidGu_Desktop) 2016-06-21T15:00:40Z attila_lendvai joined #sbcl 2016-06-21T15:00:40Z attila_lendvai quit (Changing host) 2016-06-21T15:00:40Z attila_lendvai joined #sbcl 2016-06-21T15:04:56Z attila_lendvai quit (Read error: Connection reset by peer) 2016-06-21T15:07:58Z attila_lendvai joined #sbcl 2016-06-21T15:07:58Z attila_lendvai quit (Changing host) 2016-06-21T15:07:58Z attila_lendvai joined #sbcl 2016-06-21T15:09:19Z stassats joined #sbcl 2016-06-21T15:23:15Z attila_lendvai quit (Read error: Connection reset by peer) 2016-06-21T15:24:54Z attila_lendvai joined #sbcl 2016-06-21T15:28:46Z attila_lendvai quit (Read error: Connection reset by peer) 2016-06-21T15:30:32Z attila_lendvai joined #sbcl 2016-06-21T15:33:54Z attila_lendvai quit (Read error: Connection reset by peer) 2016-06-21T15:35:51Z attila_lendvai joined #sbcl 2016-06-21T15:40:29Z attila_lendvai quit (Ping timeout: 260 seconds) 2016-06-21T16:09:23Z logrus_ joined #sbcl 2016-06-21T16:16:28Z shka joined #sbcl 2016-06-21T16:28:12Z SamSkulls joined #sbcl 2016-06-21T16:36:49Z les quit (Ping timeout: 244 seconds) 2016-06-21T16:39:20Z les joined #sbcl 2016-06-21T18:29:47Z stassats quit (Quit: ZNC 1.6.2+deb1 - http://znc.in) 2016-06-21T18:47:19Z eschatologist quit (Ping timeout: 250 seconds) 2016-06-21T18:51:36Z stassats joined #sbcl 2016-06-21T18:55:51Z stassats quit (Ping timeout: 240 seconds) 2016-06-21T19:00:06Z stassats joined #sbcl 2016-06-21T19:04:24Z stassats quit (Ping timeout: 246 seconds) 2016-06-21T19:05:37Z stassats joined #sbcl 2016-06-21T19:10:03Z eschatologist joined #sbcl 2016-06-21T19:10:04Z stassats quit (Ping timeout: 240 seconds) 2016-06-21T19:13:09Z stassats joined #sbcl 2016-06-21T19:21:33Z stassats quit (Ping timeout: 246 seconds) 2016-06-21T19:23:08Z stassats joined #sbcl 2016-06-21T19:26:03Z attila_lendvai joined #sbcl 2016-06-21T19:26:03Z attila_lendvai quit (Changing host) 2016-06-21T19:26:03Z attila_lendvai joined #sbcl 2016-06-21T19:31:51Z stassats quit (Ping timeout: 240 seconds) 2016-06-21T19:32:03Z scymtym_ quit (Ping timeout: 246 seconds) 2016-06-21T19:33:08Z stassats joined #sbcl 2016-06-21T19:37:18Z stassats quit (Ping timeout: 246 seconds) 2016-06-21T19:40:06Z stassats joined #sbcl 2016-06-21T19:47:48Z stassats quit (Ping timeout: 276 seconds) 2016-06-21T19:48:24Z stassats joined #sbcl 2016-06-21T19:53:16Z stassats quit (Ping timeout: 264 seconds) 2016-06-21T19:53:35Z stassats joined #sbcl 2016-06-21T20:01:06Z karswell quit (Remote host closed the connection) 2016-06-21T20:01:12Z karswell` joined #sbcl 2016-06-21T20:23:05Z shka quit (Ping timeout: 244 seconds) 2016-06-21T20:27:45Z eudoxia quit (Quit: Leaving) 2016-06-21T20:27:51Z stassats quit (Ping timeout: 250 seconds) 2016-06-21T20:28:37Z stassats joined #sbcl 2016-06-21T20:32:55Z stassats quit (Ping timeout: 244 seconds) 2016-06-21T20:34:08Z stassats joined #sbcl 2016-06-21T20:35:24Z scymtym joined #sbcl 2016-06-21T21:02:29Z attila_lendvai quit (Ping timeout: 260 seconds) 2016-06-21T21:08:27Z ASau joined #sbcl 2016-06-21T21:20:03Z attila_lendvai joined #sbcl 2016-06-21T21:44:07Z gingerale quit (Remote host closed the connection) 2016-06-21T21:53:05Z DeadTrickster joined #sbcl 2016-06-21T21:59:39Z attila_lendvai quit (Ping timeout: 260 seconds) 2016-06-21T23:38:10Z karswell` quit (Ping timeout: 252 seconds) 2016-06-21T23:54:43Z angavrilov quit (Remote host closed the connection)