{"action":"created","comment":{"url":"https://api.github.com/repos/Tarsnap/libcperciva/pulls/comments/200218809","pull_request_review_id":134490726,"id":200218809,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwMDIxODgwOQ==","diff_hunk":"@@ -0,0 +1,29 @@\n+#include \"cpusupport.h\"\n+\n+#ifdef CPUSUPPORT_X86_CPUID\n+#include <cpuid.h>\n+\n+#define CPUID_SHANI_BIT (1 << 29)\n+#endif\n+\n+CPUSUPPORT_FEATURE_DECL(x86, shani)\n+{\n+#ifdef CPUSUPPORT_X86_CPUID\n+\tunsigned int eax, ebx, ecx, edx;\n+\n+\t/* Check if CPUID supports the level we need. */\n+\tif (!__get_cpuid(0, &eax, &ebx, &ecx, &edx))\n+\t\tgoto unsupported;\n+\tif (eax < 7)\n+\t\tgoto unsupported;\n+\n+\t/* Ask about CPU features.  This macro takes e?x as pointers! */\n+\t__cpuid_count(7, 0, eax, ebx, ecx, edx);","path":"cpusupport/cpusupport_x86_shani.c","position":21,"original_position":21,"commit_id":"0135a8aeeed43cda0f440e4a654a8a60dac2c092","original_commit_id":"0135a8aeeed43cda0f440e4a654a8a60dac2c092","user":{"login":"cperciva","id":5085436,"node_id":"MDQ6VXNlcjUwODU0MzY=","avatar_url":"https://avatars0.githubusercontent.com/u/5085436?v=4","gravatar_id":"","url":"https://api.github.com/users/cperciva","html_url":"https://github.com/cperciva","followers_url":"https://api.github.com/users/cperciva/followers","following_url":"https://api.github.com/users/cperciva/following{/other_user}","gists_url":"https://api.github.com/users/cperciva/gists{/gist_id}","starred_url":"https://api.github.com/users/cperciva/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cperciva/subscriptions","organizations_url":"https://api.github.com/users/cperciva/orgs","repos_url":"https://api.github.com/users/cperciva/repos","events_url":"https://api.github.com/users/cperciva/events{/privacy}","received_events_url":"https://api.github.com/users/cperciva/received_events","type":"User","site_admin":false},"body":"Why not `__get_cpuid` like we do for the other cpusupport functions?","created_at":"2018-07-05T02:04:34Z","updated_at":"2018-07-05T02:04:34Z","html_url":"https://github.com/Tarsnap/libcperciva/pull/127#discussion_r200218809","pull_request_url":"https://api.github.com/repos/Tarsnap/libcperciva/pulls/127","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/Tarsnap/libcperciva/pulls/comments/200218809"},"html":{"href":"https://github.com/Tarsnap/libcperciva/pull/127#discussion_r200218809"},"pull_request":{"href":"https://api.github.com/repos/Tarsnap/libcperciva/pulls/127"}}},"pull_request":{"url":"https://api.github.com/repos/Tarsnap/libcperciva/pulls/127","id":189722606,"node_id":"MDExOlB1bGxSZXF1ZXN0MTg5NzIyNjA2","html_url":"https://github.com/Tarsnap/libcperciva/pull/127","diff_url":"https://github.com/Tarsnap/libcperciva/pull/127.diff","patch_url":"https://github.com/Tarsnap/libcperciva/pull/127.patch","issue_url":"https://api.github.com/repos/Tarsnap/libcperciva/issues/127","number":127,"state":"open","locked":false,"title":"Sha256 shani prep","user":{"login":"gperciva","id":222157,"node_id":"MDQ6VXNlcjIyMjE1Nw==","avatar_url":"https://avatars2.githubusercontent.com/u/222157?v=4","gravatar_id":"","url":"https://api.github.com/users/gperciva","html_url":"https://github.com/gperciva","followers_url":"https://api.github.com/users/gperciva/followers","following_url":"https://api.github.com/users/gperciva/following{/other_user}","gists_url":"https://api.github.com/users/gperciva/gists{/gist_id}","starred_url":"https://api.github.com/users/gperciva/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gperciva/subscriptions","organizations_url":"https://api.github.com/users/gperciva/orgs","repos_url":"https://api.github.com/users/gperciva/repos","events_url":"https://api.github.com/users/gperciva/events{/privacy}","received_events_url":"https://api.github.com/users/gperciva/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-05-22T16:30:07Z","updated_at":"2018-07-05T02:04:34Z","closed_at":null,"merged_at":null,"merge_commit_sha":"17639a934df57baaaced0d219019599fe910821f","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Tarsnap/libcperciva/pulls/127/commits","review_comments_url":"https://api.github.com/repos/Tarsnap/libcperciva/pulls/127/comments","review_comment_url":"https://api.github.com/repos/Tarsnap/libcperciva/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Tarsnap/libcperciva/issues/127/comments","statuses_url":"https://api.github.com/repos/Tarsnap/libcperciva/statuses/0135a8aeeed43cda0f440e4a654a8a60dac2c092","head":{"label":"Tarsnap:sha256-shani-prep","ref":"sha256-shani-prep","sha":"0135a8aeeed43cda0f440e4a654a8a60dac2c092","user":{"login":"Tarsnap","id":12490383,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNDkwMzgz","avatar_url":"https://avatars3.githubusercontent.com/u/12490383?v=4","gravatar_id":"","url":"https://api.github.com/users/Tarsnap","html_url":"https://github.com/Tarsnap","followers_url":"https://api.github.com/users/Tarsnap/followers","following_url":"https://api.github.com/users/Tarsnap/following{/other_user}","gists_url":"https://api.github.com/users/Tarsnap/gists{/gist_id}","starred_url":"https://api.github.com/users/Tarsnap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tarsnap/subscriptions","organizations_url":"https://api.github.com/users/Tarsnap/orgs","repos_url":"https://api.github.com/users/Tarsnap/repos","events_url":"https://api.github.com/users/Tarsnap/events{/privacy}","received_events_url":"https://api.github.com/users/Tarsnap/received_events","type":"Organization","site_admin":false},"repo":{"id":36064362,"node_id":"MDEwOlJlcG9zaXRvcnkzNjA2NDM2Mg==","name":"libcperciva","full_name":"Tarsnap/libcperciva","owner":{"login":"Tarsnap","id":12490383,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNDkwMzgz","avatar_url":"https://avatars3.githubusercontent.com/u/12490383?v=4","gravatar_id":"","url":"https://api.github.com/users/Tarsnap","html_url":"https://github.com/Tarsnap","followers_url":"https://api.github.com/users/Tarsnap/followers","following_url":"https://api.github.com/users/Tarsnap/following{/other_user}","gists_url":"https://api.github.com/users/Tarsnap/gists{/gist_id}","starred_url":"https://api.github.com/users/Tarsnap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tarsnap/subscriptions","organizations_url":"https://api.github.com/users/Tarsnap/orgs","repos_url":"https://api.github.com/users/Tarsnap/repos","events_url":"https://api.github.com/users/Tarsnap/events{/privacy}","received_events_url":"https://api.github.com/users/Tarsnap/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Tarsnap/libcperciva","description":"BSD-licensed C99/POSIX library code shared between tarsnap, scrypt, kivaloo, spiped, and bsdiff.","fork":false,"url":"https://api.github.com/repos/Tarsnap/libcperciva","forks_url":"https://api.github.com/repos/Tarsnap/libcperciva/forks","keys_url":"https://api.github.com/repos/Tarsnap/libcperciva/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Tarsnap/libcperciva/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Tarsnap/libcperciva/teams","hooks_url":"https://api.github.com/repos/Tarsnap/libcperciva/hooks","issue_events_url":"https://api.github.com/repos/Tarsnap/libcperciva/issues/events{/number}","events_url":"https://api.github.com/repos/Tarsnap/libcperciva/events","assignees_url":"https://api.github.com/repos/Tarsnap/libcperciva/assignees{/user}","branches_url":"https://api.github.com/repos/Tarsnap/libcperciva/branches{/branch}","tags_url":"https://api.github.com/repos/Tarsnap/libcperciva/tags","blobs_url":"https://api.github.com/repos/Tarsnap/libcperciva/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Tarsnap/libcperciva/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Tarsnap/libcperciva/git/refs{/sha}","trees_url":"https://api.github.com/repos/Tarsnap/libcperciva/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Tarsnap/libcperciva/statuses/{sha}","languages_url":"https://api.github.com/repos/Tarsnap/libcperciva/languages","stargazers_url":"https://api.github.com/repos/Tarsnap/libcperciva/stargazers","contributors_url":"https://api.github.com/repos/Tarsnap/libcperciva/contributors","subscribers_url":"https://api.github.com/repos/Tarsnap/libcperciva/subscribers","subscription_url":"https://api.github.com/repos/Tarsnap/libcperciva/subscription","commits_url":"https://api.github.com/repos/Tarsnap/libcperciva/commits{/sha}","git_commits_url":"https://api.github.com/repos/Tarsnap/libcperciva/git/commits{/sha}","comments_url":"https://api.github.com/repos/Tarsnap/libcperciva/comments{/number}","issue_comment_url":"https://api.github.com/repos/Tarsnap/libcperciva/issues/comments{/number}","contents_url":"https://api.github.com/repos/Tarsnap/libcperciva/contents/{+path}","compare_url":"https://api.github.com/repos/Tarsnap/libcperciva/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Tarsnap/libcperciva/merges","archive_url":"https://api.github.com/repos/Tarsnap/libcperciva/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Tarsnap/libcperciva/downloads","issues_url":"https://api.github.com/repos/Tarsnap/libcperciva/issues{/number}","pulls_url":"https://api.github.com/repos/Tarsnap/libcperciva/pulls{/number}","milestones_url":"https://api.github.com/repos/Tarsnap/libcperciva/milestones{/number}","notifications_url":"https://api.github.com/repos/Tarsnap/libcperciva/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Tarsnap/libcperciva/labels{/name}","releases_url":"https://api.github.com/repos/Tarsnap/libcperciva/releases{/id}","deployments_url":"https://api.github.com/repos/Tarsnap/libcperciva/deployments","created_at":"2015-05-22T09:36:27Z","updated_at":"2018-06-30T08:07:48Z","pushed_at":"2018-07-01T16:12:54Z","git_url":"git://github.com/Tarsnap/libcperciva.git","ssh_url":"git@github.com:Tarsnap/libcperciva.git","clone_url":"https://github.com/Tarsnap/libcperciva.git","svn_url":"https://github.com/Tarsnap/libcperciva","homepage":"","size":482,"stargazers_count":84,"watchers_count":84,"language":"C","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":9,"mirror_url":null,"archived":false,"open_issues_count":6,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":9,"open_issues":6,"watchers":84,"default_branch":"master"}},"base":{"label":"Tarsnap:master","ref":"master","sha":"7ba91cc2dd286c6f20cc628370a2e5757a9d53da","user":{"login":"Tarsnap","id":12490383,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNDkwMzgz","avatar_url":"https://avatars3.githubusercontent.com/u/12490383?v=4","gravatar_id":"","url":"https://api.github.com/users/Tarsnap","html_url":"https://github.com/Tarsnap","followers_url":"https://api.github.com/users/Tarsnap/followers","following_url":"https://api.github.com/users/Tarsnap/following{/other_user}","gists_url":"https://api.github.com/users/Tarsnap/gists{/gist_id}","starred_url":"https://api.github.com/users/Tarsnap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tarsnap/subscriptions","organizations_url":"https://api.github.com/users/Tarsnap/orgs","repos_url":"https://api.github.com/users/Tarsnap/repos","events_url":"https://api.github.com/users/Tarsnap/events{/privacy}","received_events_url":"https://api.github.com/users/Tarsnap/received_events","type":"Organization","site_admin":false},"repo":{"id":36064362,"node_id":"MDEwOlJlcG9zaXRvcnkzNjA2NDM2Mg==","name":"libcperciva","full_name":"Tarsnap/libcperciva","owner":{"login":"Tarsnap","id":12490383,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNDkwMzgz","avatar_url":"https://avatars3.githubusercontent.com/u/12490383?v=4","gravatar_id":"","url":"https://api.github.com/users/Tarsnap","html_url":"https://github.com/Tarsnap","followers_url":"https://api.github.com/users/Tarsnap/followers","following_url":"https://api.github.com/users/Tarsnap/following{/other_user}","gists_url":"https://api.github.com/users/Tarsnap/gists{/gist_id}","starred_url":"https://api.github.com/users/Tarsnap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tarsnap/subscriptions","organizations_url":"https://api.github.com/users/Tarsnap/orgs","repos_url":"https://api.github.com/users/Tarsnap/repos","events_url":"https://api.github.com/users/Tarsnap/events{/privacy}","received_events_url":"https://api.github.com/users/Tarsnap/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Tarsnap/libcperciva","description":"BSD-licensed C99/POSIX library code shared between tarsnap, scrypt, kivaloo, spiped, and bsdiff.","fork":false,"url":"https://api.github.com/repos/Tarsnap/libcperciva","forks_url":"https://api.github.com/repos/Tarsnap/libcperciva/forks","keys_url":"https://api.github.com/repos/Tarsnap/libcperciva/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Tarsnap/libcperciva/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Tarsnap/libcperciva/teams","hooks_url":"https://api.github.com/repos/Tarsnap/libcperciva/hooks","issue_events_url":"https://api.github.com/repos/Tarsnap/libcperciva/issues/events{/number}","events_url":"https://api.github.com/repos/Tarsnap/libcperciva/events","assignees_url":"https://api.github.com/repos/Tarsnap/libcperciva/assignees{/user}","branches_url":"https://api.github.com/repos/Tarsnap/libcperciva/branches{/branch}","tags_url":"https://api.github.com/repos/Tarsnap/libcperciva/tags","blobs_url":"https://api.github.com/repos/Tarsnap/libcperciva/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Tarsnap/libcperciva/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Tarsnap/libcperciva/git/refs{/sha}","trees_url":"https://api.github.com/repos/Tarsnap/libcperciva/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Tarsnap/libcperciva/statuses/{sha}","languages_url":"https://api.github.com/repos/Tarsnap/libcperciva/languages","stargazers_url":"https://api.github.com/repos/Tarsnap/libcperciva/stargazers","contributors_url":"https://api.github.com/repos/Tarsnap/libcperciva/contributors","subscribers_url":"https://api.github.com/repos/Tarsnap/libcperciva/subscribers","subscription_url":"https://api.github.com/repos/Tarsnap/libcperciva/subscription","commits_url":"https://api.github.com/repos/Tarsnap/libcperciva/commits{/sha}","git_commits_url":"https://api.github.com/repos/Tarsnap/libcperciva/git/commits{/sha}","comments_url":"https://api.github.com/repos/Tarsnap/libcperciva/comments{/number}","issue_comment_url":"https://api.github.com/repos/Tarsnap/libcperciva/issues/comments{/number}","contents_url":"https://api.github.com/repos/Tarsnap/libcperciva/contents/{+path}","compare_url":"https://api.github.com/repos/Tarsnap/libcperciva/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Tarsnap/libcperciva/merges","archive_url":"https://api.github.com/repos/Tarsnap/libcperciva/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Tarsnap/libcperciva/downloads","issues_url":"https://api.github.com/repos/Tarsnap/libcperciva/issues{/number}","pulls_url":"https://api.github.com/repos/Tarsnap/libcperciva/pulls{/number}","milestones_url":"https://api.github.com/repos/Tarsnap/libcperciva/milestones{/number}","notifications_url":"https://api.github.com/repos/Tarsnap/libcperciva/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Tarsnap/libcperciva/labels{/name}","releases_url":"https://api.github.com/repos/Tarsnap/libcperciva/releases{/id}","deployments_url":"https://api.github.com/repos/Tarsnap/libcperciva/deployments","created_at":"2015-05-22T09:36:27Z","updated_at":"2018-06-30T08:07:48Z","pushed_at":"2018-07-01T16:12:54Z","git_url":"git://github.com/Tarsnap/libcperciva.git","ssh_url":"git@github.com:Tarsnap/libcperciva.git","clone_url":"https://github.com/Tarsnap/libcperciva.git","svn_url":"https://github.com/Tarsnap/libcperciva","homepage":"","size":482,"stargazers_count":84,"watchers_count":84,"language":"C","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":9,"mirror_url":null,"archived":false,"open_issues_count":6,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":9,"open_issues":6,"watchers":84,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Tarsnap/libcperciva/pulls/127"},"html":{"href":"https://github.com/Tarsnap/libcperciva/pull/127"},"issue":{"href":"https://api.github.com/repos/Tarsnap/libcperciva/issues/127"},"comments":{"href":"https://api.github.com/repos/Tarsnap/libcperciva/issues/127/comments"},"review_comments":{"href":"https://api.github.com/repos/Tarsnap/libcperciva/pulls/127/comments"},"review_comment":{"href":"https://api.github.com/repos/Tarsnap/libcperciva/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Tarsnap/libcperciva/pulls/127/commits"},"statuses":{"href":"https://api.github.com/repos/Tarsnap/libcperciva/statuses/0135a8aeeed43cda0f440e4a654a8a60dac2c092"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"cperciva"}}